1. Прочитать
git-scm.com/book/ru
2. Настроить 2 среды (1 - боевая, та где лежит общедоступный сайт, 2 тестовая - на хостинге или локально)
3. Создать git репозиторий
4. Настроить .gitignore, чтобы файлы с кэшем, с логами, с настройками БД, с кодом CMS не отправлялись в репозиторий.
5. Создать 2 ветки dev и master, в master - только протестированный, рабочий код.
6. После успешного тестирования в тестовой среде, заливаем (в ручную или через IDE) файлы на боевой ФТП, тестируем, сливаем master с dev.
В пункте 6 есть сложность, как залить только измененный файлы на ФТП?
Можно настроить git на боевом сервере и делать Pull из удаленного репозитория (bitbucket.org)
Можно использовать умную IDE типа PhpStorm, которая сама заливает изменения на фтп.
Какой движок вы используете?