git pull不会自动合并我的更改

时间:2014-10-16 00:23:31

标签: git

我使用git安装prezto。我在zshrc中进行了一行更改。 然后我做了一个' git pull&& git submodule update --init --recursive'

但是我发生了合并冲突:

这是差异:

$ git diff
diff --cc runcoms/zshrc
index 2091d75,039b882..0000000
--- a/runcoms/zshrc
+++ b/runcoms/zshrc
@@@ -11,5 -11,3 +11,8 @@@ if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/in
  fi

  # Customize to your needs...
++<<<<<<< HEAD
 +setopt noEXTENDED_GLOB
 +
++=======
++>>>>>>> 3c47c57c872f9d448ef79249b873e164fb5028e2

我的理解是Git看到我的1改变(&#34;介于&lt;&lt;&lt;&lt;和===之间)并且远程没有任何东西(=====和&gt;&gt;之间的空白) &GT;&GT)。

我的问题是为什么Git不会自动合并我的更改?

2 个答案:

答案 0 :(得分:0)

Git看到你有一个未合并的差异。您需要手动进行此合并,并在此提交后继续 - 如果您使用rebase。

一步一步:

  1. 首先修改文件以获取正确的内容(手动合并)
  2. git commit
  3. 之后
  4. git pull
  5. git push with modif

答案 1 :(得分:0)

不可能从2路差异中说出导致问题的原因。您可以通过两种方式之一看到问题。

假设您已配置合适的mergetool

git mergetool

应该拉出一个3向差异,这样你就可以看到基础以及它们的修改。

或者,您可以指示git在diff输出中嵌入所有三种形式

git config --global merge.conflictstle diff3

您可能需要中止并重新运行合并以使此更改显示

出现此问题的一种方法是,如果基本版本中有一行被您修改并被其删除。