Всем привет. На самом деле вопросов больше, чем один.
Я занимаюсь разработкой сайтов, занимаюсь ей в одиночку. У меня есть несколько сайтов на Joomla. В основном процесс внесения каких-то изменений происходит так:
1) если изменения не критичные(правка пары css свойств), делаю это напрямую на сервере, где болтается сайт.
2)если изменения критичные и нужно пошаманить, разворачиваю локальную копию сайта на своем рабочем компьютере, вношу изменения и, либо разворачиваю исправленный сайт в замен текущего, либо вношу правки на сервере, которые только что внес локально.
Сразу видно, что я делаю много лишней работы. Для моих нужд вроде как подходит git, но те, кто работал с joomla знают, что количество файлов для одного сайта просто огромно, и как я понимаю, для полной синхронизации сайта, мне надо настраивать гит на слежку за всеми ими. Я как-то пытался это сделать, но после какой-нибудь одной правки в 1 css файле и попытки это закомитить, видел огромный портянку вывода всех неизмененных файлов и времени на это тратилось очень много.
Как поступать в таком случае? Выделять определенные каталоги, где происходят основные изменения, например, каталог текущего шаблона и отслеживать только его?
Это вопрос касательно того, как вообще joomla дружит с git.
Второй вопрос, как настроить взаимодействие? У меня есть vds сервер с centOS, на котором и болтаются сайты. Можно ли там же развернуть основной репозиторий, с которого делать pull на локальные машины? Или нужно искать еще один, независимый сервер?
Я занимаюсь тем же - использую diffmerge локально.
1. Скачиваете сайт+дамп базы на свой локальный хостинг в виде файлов и сохраняете копию в локальной папке "before".
2. Импортируете базу.
3. Делаете правки на сайте (на локальном хостинге).
4. Делаете экспорт базы и все файлы сливаете в папку "after".
5. Запускаете diffmerge (или подобный инструмент) и получаете разницу.
хм) а зачем папки "до" и "после"? Всё много проще, качаем на локал, создаем там репозиторий, делаем стартовый add, т.е. всё как и положено в любой системе контроля версий. А потом уже при выгрузки на продакшн, делаем дифф между двумя крайними точками, ну или какие угодно точки можно выбрать, далее собираем патч в архив, кидаем на сервер.
Ставьте gitignor на контентных папках. Но это всё гемор для таких маленьких проектов. Вообще из "непопулярных" решений - Dreamweaver он умеет локальную версию синхронить с удалённой по команде, или по кнопке сохранения, автоматом. Думаю, что так умеет и любая нормальная IDE, но их я если честно не смотрел, без надобности.