Я работаю над крупномасштабным проектом Rails, и команда, с которой я работаю, использует Github для управления проектом. Хотя многие изменения обрабатываются локально, а затем передаются непосредственно в нашу ветку разработки, мы создаем ветку, когда собираемся работать над очень большим изменением. Когда приходит время объединить эту ветвь с разработкой, я часто пытаюсь перебазировать разработку обратно в свою функциональную ветку, прежде чем объединить свою функциональную ветвь с разработкой (чтобы предотвратить перезапись работы других людей). Я обнаружил, что когда я это делаю, мне кажется, что я дважды сталкиваюсь с одними и теми же конфликтами слияния.Я сталкиваюсь с целым списком конфликтов при перемещении, а затем снова сталкиваюсь с тем же списком конфликтов при слиянии. Должен ли я перебазировать разработку в свою ветку функций, прежде чем объединить свою функцию в разработку, или мне просто следует объединить свою функцию в разработку?
Допустим, моя ветка функции называется «new_feature». Мой процесс слияния его с веткой "develop" выглядит следующим образом:
git checkout develop
git pull (this is set up on our rig to always pull rebase)
git checkout new_feature
git rebase develop
(lots of merge conflicts ensue)
git checkout develop
git merge -no-ff new_feature
(same set of merge conflicts again)
Это как если бы временная шкала, измененная после моего перебазирования, заставляла мою новую ветку функций как бы зеркально развиваться полностью назад, а затем возникали конфликты с psudo- копия самого себя.