Когда я использую Git, мне следует перебазировать перед слиянием?

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

21
задан Code Junkie 2 February 2012 в 18:01
поделиться