为什么我需要做一个&#39; git add <files>&#39;解决合并冲突后?</files>

时间:2014-04-23 11:23:43

标签: git merge add merge-conflict-resolution git-add

即使在查看此链接后我也来到这里 - How to resolve merge conflicts in Git? 和许多其他链接。无处不在,提到你需要做一个&#39; git add&#39;在文本编辑器中解决冲突后。

我已经使用git几年了,并且设法不经常使用合并。所以,每隔一段时间,我就必须在合并后谷歌解决方法。

因此,我认为我还没有理解git(或者git add&#39;)的某些部分,这让我忘记了我需要做一个git add&#39;。任何人都可以解释/指出我错过了什么,以便下次合并时,做一个&#39; git add&#39;解决冲突后合乎逻辑的做法是什么?

2 个答案:

答案 0 :(得分:2)

git索引包含三个冲突文件副本。这些是;

  1. 合并基地
  2. “我们的”版本
  3. “他们的”版本
  4. 您可以使用git ls-files -s

    查看它们

    带有合并标记的版本不存储在索引中,它只存在于工作目录中。合并并解析冲突的文件后,git add会将索引缩减为一个副本。

答案 1 :(得分:1)

当您遇到合并冲突时,Git会要求您自行解决冲突,因此您必须编辑文件。当您git add编辑过的文件时,这就是您解决冲突的标志,就像在普通的Git工作流程中一样:您必须发出您想要提交的信号。将merge视为进行合并提交的commit变体可能会很好。唯一真正特别的是,当没有冲突时,它会在没有git add的情况下提交更改。