Я работаю над крупномасштабным проектом 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-copy.