4

最近,当我git pull在我的主分支中运行时,它偶尔会出现以下合并错误:

   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.

但是,在此合并尝试之后,有些文件甚至不在 master 分支中。我可以使用并再次拉动来解决这个问题git reset,但我想知道这个头或提交从哪里来我怎么能找到这个?我尝试查看gitk并检查本地 GitLab 服务器,但我找不到任何东西。

4

1 回答 1

2

您应该能够使用 . 查看单个文件的历史记录git log <filename>。这可能有助于识别您的神秘文件。

对于冲突,应使用冲突标记显示冲突的来源:

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

它也可能有助于从git pull工作流切换到git fetch工作流。

fetch更新您的远程分支指针(例如origin/master),但不会自动合并您的本地分支(例如master)。然后您可以使用它gitk --all来直观地比较分支,git diff origin/master查看终端中的更改等。

一旦您满意并想要合并您的上游更改,您需要做的就是合并(例如git merge origin/mastermaster分支)。一般git pull情况下,git fetch后跟git merge

于 2014-01-03T15:13:12.670 回答