Я предполагаю, что вы сделали что-то вроде следующего:
git init project
cd project
<copy existing code to this directory>
git add -Af .
git commit -m "Import code"
<edited some files>
git commit -a -m "Made changes"
Наилучший подход - создать ветку из исходного коммита импорта и сделать еще один снимок живого сайта в этой ветке.Предположим, что исходная фиксация импорта имеет идентификатор фиксации f00ba4
(вы можете использовать git log
, чтобы узнать фактический идентификатор SHA1).Чтобы включить изменения других разработчиков, вы можете сделать следующее:
Создать новую ветку с именем live
, указывающую на фиксацию f00ba4, а затем проверить ее:
git checkout -b live f00ba4
Убедитесь, что нет неотслеживаемых файлов:
git clean -dxf
Скопируйте последний код с живого сайта
Зафиксируйте последний код:
git add -Af .
git commit -m "take another snapshot of the live site"
Переключитесь на свою ветку:
git checkout master
Включите изменения других разработчиков сВаши изменения:
git merge live
Каждый раз, когда другой разработчик изменяет файлы на работающем сайте, вы можете обновлять свой репозиторий следующим образом:
Обновите ветку live
, используя последний код:
git checkout live
git clean -dxf
<copy the files from the live site>
git add -Af .
git commit -m "another snapshot of the live site"
Объедините изменения в live
в master
:
git checkout master
git merge live
Когда вы будете готовы к развертыванию ваших изменений:
Убедитесь, что ветка live
обновлена:
git checkout live
git clean -dxf
<copy the files from the live site>
git add -Af .
git commit -m "another snapshot of the live site"
Слей свойизменяется на live
:
git merge master
Развертывание файлов на работающем сайте