Это будет долго, но я надеюсь, что вы можете терпеть меня.
Я пытаюсь использовать git, чтобы поставить исходный код моей команды под контроль версий. После попытки найти разные подходы, которые будут работать для меня, я, наконец, решил использовать функцию git format-patch
. FWIW, продукт представляет собой веб-приложение ASP.NET, работающее в Windows, и в настоящее время я использую msysgit .
Справочная информация:
У меня есть промежуточный сервер (зеркальный рабочий сервер), который содержит все файлы ASPX. Затем я создал git-репо, используя init-db внутри своей корневой папки, и сделал git add .
для отслеживания всех файлов.
Чтобы у меня была локальная копия на моем ноутбуке, я фактически заархивировал папку «.git» с промежуточного сервера и отправил ее по FTP на свою локальную машину. Переименовал его в «staging.git» и сделал git clone staging.git webappfolder
, чтобы выполнить мою разработку против.
После 2 коммитов для feature1 и feature2, пришло время применить изменения обратно к промежуточному серверу. Я сделал git format-patch -2
, который выводит в файлы 0001blah.patch
и 0002blah.patch
.
Эти 2 файла исправлений затем отправляются на промежуточный сервер, и я сделал git am 0001blah.patch
на самом промежуточном сервере. Выполнение git log
показывает, что коммит прошел. Но когда я делаю git status
, он показывает Changed but not updated: modified: file1.aspx
.
Что это значит точно? Я также попытался сделать git apply 0001blah.patch
, но все, что я получил, было error" patch failed: file1.aspx: patch does not apply
.
Есть ли проблема с моим рабочим процессом? Любое понимание относительно правильного способа или помощи было бы чрезвычайно полезно. Опять же, модель исправлений была бы наиболее приемлемой для нас сейчас, поскольку мы не будем настраивать SSH-сервер в ближайшее время.