2014-01-03 3 views
2

В последнее время, когда я бегу git pull в моей главной ветке иногда дает следующее сообщение об ошибке слияния:Git тянуть дает конфликты со стратегией осьминога

Trying simple merge with 7ff9b5... 
    Trying simple merge with 6872cd... 
    Simple merge did not work, trying automatic merge. 
    Auto-merging file.txt 
    ERROR: content conflict in file.txt 
    fatal: merge program failed 
    Automated merge did not work. 
    Should not be doing an Octopus. 
    Merge with strategy octopus failed. 

Однако после этого слияния попытки есть файлы, которые не являются даже в мастера филиал. Я могу исправить эту проблему, используя git reset и снова потянув, но мне было интересно, где эта голова или коммиты, откуда я могу это найти? Я попробовал посмотреть в gitk и проверить локальные серверы GitLab, но ничего не нашел.

ответ

3

Вы должны быть в состоянии видеть историю отдельного файла: git log <filename>. Это может помочь идентифицировать ваши файлы тайны.

Для конфликтов, источник конфликта should be shown with the conflict markers:

<<<<<<< HEAD:filename 
... 
======= 
... 
>>>>>>> abcd123:filename 

Он также может помочь перейти от git pull процесса в git fetch процесса.

fetch обновляет указатель удаленной ветви (например, origin/master), но автоматически не объединяет локальную ветвь (например, master). Затем вы можете использовать gitk --all визуально сравнить ветви, git diff origin/master для просмотра изменений в терминале и т.д.

После того, как вы удовлетворены и хотите включить свои добывающие изменения, все, что вам нужно сделать, это объединить (например git merge origin/master из master филиал). Как правило, git pull is git fetch followed by git merge.