2014-01-15 3 views
0

Я создал ветку, называемую tmp, сделал несколько коммитов, и теперь, когда я пытаюсь объединить, она терпит неудачу. Когда я типа git branch -avvv я вижу следующееGit не удалось слить

master    f439a52 [origin/master] updated footer formatting 
* tmp     acc5818 added analytics and logos 
remotes/origin/master f439a52 updated footer formatting 

затем я проверил мастер, пытался объединить TMP, но я получил кучу ошибок, таких как CONFLICT (content): Merge conflict in ....

Я пытался проверить TMP снова, но потом он сказал Automatic merge failed; fix conflicts and then commit the result. Я понятия не имею, в чем конфликт, поэтому я понятия не имею, как их исправить. Я хочу сохранить все дополнения, которые я сделал в ветке tmp.

Я набрал git reset --hard и переключился обратно на tmp. Затем я удалил мастер, создал новую ведущую ветвь и попытался объединить tmp, но то же самое произошло снова.

+0

Мм .. 'git' не всегда знает, как объединить с изменениями, которые касаются те же строки файла с обеих ветвей. Вам нужно их разрешить, используйте 'git mergetool' и выберите, какую строку использовать либо из tmp, либо из master-ветви. После этого убедитесь, что код компилирует и запускает тесты и т. Д. –

ответ

0

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

Пример

<<<<<<< 
Changes made on the branch that is being merged into. In most cases, 
this is the branch that I have currently checked out (i.e. HEAD). 
||||||| 
The common ancestor version. 
======= 
Changes made on the branch that is being merged in. This is often a 
feature/topic branch. 
>>>>>>> 
+0

Я открыл файл и увидел что-то вроде этого. Я вижу кучу вещей с надписью HEAD и tmp. Я должен удалить или добавить код? Я действительно не понимаю, в чем проблема (точнее, как git фактически функционирует и отслеживает изменения). – user3199663

+0

Глава будет из главной ветви, в которую вы сливаетесь. нижняя половина будет для ветки, из которой вы сливаетесь. Если вам нужен только код из tmp. Удалите раздел «Голова» и «>>>», сгенерированный слиянием. Вам нужно будет решить, какой код является правильным кодом. – BenDavidJamin

+1

Обратите внимание, что часть '||| ...' и common-ancestor включена только в том случае, если вы задали 'merge.conflictstyle'' diff3'. – torek

Смежные вопросы