2010-01-19 5 views
3

Я пришел в Git из SVN. Раньше для обновления какого-то производственного сайта я сравнивал ревизии от производства один к HEAD с помощью TortoiseSVN, экспортировал измененные/добавленные файлы во временный каталог и после этого загружал их на производственный сервер.Развертывание измененных файлов с помощью Git

Можно ли воспроизвести то же самое с помощью Git (TortoiseGit)?

ответ

3

compare Dialog of TortoiseGit больше о файле, и, с Git, вы должны сравнить две master ветви (а не только два коммиты из одних и тех же ветвей и указывающих на тот же SVN центрального репо)

Если у вас есть мерзавец напрямую на сервере вы можете переустановить своего хозяина (серверного репо) с помощью источника/ведущего (одного из репо-процесса разработки)
Или вы можете сбросить свою основную головку prod в начало/мастер и добавить файлы, как described here ,

Но если у вас есть только Git на стороне развития, которая является мудрой, вы можете иметь:

  • клонированной версию (так называемой «prod1», например) РИЙ, представляя одну из производственной части (prod1/мастер)
  • или филиал в вашем собственном репо (так называемый «prod1_master»)

в обеих случаях, вам нужно перечислить все файлы, которые были изменены между prod1 и мастерами:

git diff --list-only prod1/master 
git diff --list-only prod1_master 

экспортируйте эти файлы во временный каталог, который вы можете сжать и разжать на стороне prod.

2

Почему бы вам не сделать свой производственный сайт Git checkout, а затем развернуть добавленные/измененные файлы, вы просто git pull?

+0

+1. Я бы сделал то же самое, если бы использовал Subversion. –

+0

Потому что: 1. Git не установлен на этом сервере; 2. Из моего прежнего опыта SVN я выяснил, что багажник (или главная ветвь) не всегда стабилен (особенно, когда вы не единственный разработчик). И безопаснее и быстрее развертывать некоторые определенные файлы/изменения, но не весь репозиторий. –

+1

Установите Git на сервер (есть переносные версии, которые развертываются XCopy), а затем создайте ветвь «production», с которой вы можете объединиться, а затем вытащите сервер из этой ветки. –

Смежные вопросы