Интеграция кода между версионными и не версионными проектами - PullRequest
0 голосов
/ 17 марта 2012

Мы передали часть нашего проекта другой компании, и мы также развиваем ее самостоятельно.Мы используем GIT внутри компании, а другая компания - нет.Поскольку мы приближаемся к нашим крайним срокам, у нас нет времени обучать этих людей в GIT.

Ручная интеграция файлов была бы беспокойной, и мне нужен какой-то способ интеграции с их версионным кодом.

Вот несколько уловок, которые я попробовал, но не сработало: я создал новую ветку 'test' из моей основной ветки 'main', заменил ВСЕ файлы из них в этой ветке.Итак, теперь моя основная ветвь 'main' содержит нашу работу, а ветвь 'test' содержит работу других.

У меня были файлы m1, m2, m3 в моей ветке 'main', и они были удалены, пока я заменил ALLфайлы и папки.Я думал, что слияния 'test' и 'main' будет достаточно, чтобы вернуть удаленные файлы, но это не так.Я думаю, потому что «test» происходит от «main».

Я новичок в GIT и не знаю концепций выбора вишни / rebase.Но если это поможет, я очень хочу их изучить.

Может ли кто-нибудь посоветовать мне правильный способ интеграции проекта?

Редактировать: то, что сказал Томас Маркаускас, кажетсяидеальное решение для меня.Но, к сожалению, мы уже получили релиз от другой компании, и сейчас я занимаюсь тем, что

  • создал новую ветку 'out'
  • вставил в нее свой код
  • перечислил различия, используя git diff out --stat
  • , сохраняя список как контрольный список, проверяя вручную, пропуская отдельные файлы (где только одно из внесенных изменений)

, но для файловгде мы оба внесли некоторые изменения, я полагаю, мне нужно объединить их по отдельности и выполнить ручное разрешение, читая все строки кода в этих строках ..

Есть ли лучший способ, чем этот?

1 Ответ

2 голосов
/ 17 марта 2012

Вы можете создать филиал для другой компании. Каждый раз, когда они обновляют код, вы можете просто заменить старые файлы новыми и зафиксировать их. Каждый коммит будет представлять релиз. Затем вы можете легко объединить его с вашей рабочей веткой.

Чтобы избежать удаления файлов, которые были удалены в другой ветке, вы можете объединить ветви без фиксации слияния (--no-commit). Затем просто отмените изменения, которые вы не хотите применять, и зафиксируйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...