2013-12-16 8 views
0

У меня есть репо, с этими ветвями:Git Слияние Fixing Проблемы

  • Мастер
  • Изменения
  • базы данных Изменения
  • Заказать

Я хочу, чтобы объединить их в основной ветви , Таким образом, изменения в master, затем изменения базы данных ... и т. Д. Однако есть проблемы с слиянием, потому что мастер также перемещен вперед, а другие ветви были обработаны.

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

Так, например, если бы я объединил изменения в Master, я бы хотел, чтобы Git использовал файлы изменений. Как вы указываете, что после неудачного слияния?

# git checkout master 
# git merge Changes 
# ---LOTS of ERRORs here --- 

Теперь я могу использовать:

# git add -A 
# git commit -m "Using these resolutions" 

или что-то вроде этого:

# git checkout Changes 
# git add -A 
# git commit -m "Using these resolutions" 
# git checkout master 
# git merge Changes 
+0

Обратите внимание, что это будет фактически выбросить большие куски любых изменений, сделанных на «master», что может сломать части тех изменений, которые не выбрасываются. За исключением некоторых очень специфических ситуаций, это, вероятно, не самый мудрый путь - хотя, по общему признанию, «эй, смотри, не было конфликтов слияния» гораздо удобнее в краткосрочной перспективе ... – twalberg

+0

жаль, что я не уверен что ты имеешь в виду. Что это тоже в ссылке? –

+0

Если вы слепо проигнорируете, как файл 'file.c' мог быть изменен на вашей главной ветке при слиянии, и просто замените его на' file.c' из ветви разработки, тогда вы эффективно отбрасываете все изменения, которые были сделаны в этом файле на вашей главной ветке. В зависимости от того, как этот код зависит от кода в других файлах (и наоборот), вы собираетесь что-то сломать, слепо отбросив изменения, сделанные на master ... – twalberg

ответ

0

Вы можете git merge -s ours мастер в отрасли вы хотите объединить, а затем объединить его обратно в мастера ,

+0

Не могли бы вы рассказать о том, что вы имеете в виду с большим количеством кода? спасибо –

+0

Я думаю, что это сработало, я использовал эту строку, пока проверил в ветке «Изменения», затем проверил обратно хозяина и все сделал, битбакет говорит, что мастер был объединен в «Изменения» –

+0

Так как @minitech указывал, что всегда слияние вашего хозяина вступайте в свои ветви dev, прежде чем начинать выполнять какую-либо работу, регулярно, пока вы делаете работу, и снова после того, как закончите работать. Тогда слияние с мастером будет тривиальным. Много мелких слияний намного проще, чем слияние монстров. – abasterfield