Другие ответы касались эффективности с командной строкой - от Coda, как и вы, потребовалось немного времени, чтобы привыкнуть, но как только вы разберетесь с этим, вам это понравится (особенно когда вы нужно сделать сброс).
Вот как я недавно развернул развертывание DVCS, выполнив (по существу) то, что вы есть. Единственное отличие состоит в том, что я использую gitolite вместо GitHub по соображениям безопасности.
На центральном git-сервере есть репозиторий - в ветке master
я проверю установку vanilla, если это проект с открытым исходным кодом или последний работающий / стабильный код, который у меня есть. Затем я создаю ветку для каждого этапа - так что в вашем случае есть ветка для Live / Production и вашей локальной среды разработки.
Я делаю свою работу из ветки dev
, создавая функциональные ветки или исправления и объединяя их обратно. Когда все станет стабильно, я сливаюсь с веткой prod
. Затем я использую хук на основе SSH, чтобы подключиться к удаленному серверу и инициировать извлечение, которое является альтернативой вашему PHP-сценарию и более безопасным.
Даже если у вас не было возможности установить git на сервер, вы все равно можете использовать ловушки для автоматизации развертывания. Я должен был тщательно протестировать, чтобы убедиться, что это безопасно, поэтому я предлагаю вам сделать то же самое. Также необходимо настроить Apache для перенаправления любых запросов в каталог .git
, чтобы этот каталог не читался.
В любом случае, git не идеальная система веб-развертывания, если вам неудобно писать хуки, чтобы все было на свои места. Если у вас есть какие-либо оговорки, продолжить загрузку через FTP. По крайней мере, теперь у вас есть контроль версий.