为什么在解决合并冲突后需要执行'git add <files>'?



我甚至在看了这个链接后也来到了这里-如何解决Git中的合并冲突?以及许多其他链接。到处都提到,在文本编辑器中解决冲突后,需要进行"git添加"。

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

因此,我想我还没有理解git(或"git-add")的某些部分,这让我忘记了我需要做"git-add'"。有人能向我解释/指出我缺少了什么吗?这样下次我合并时,在解决冲突后进行"git add"是合乎逻辑的做法吗?

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

  1. 合并基础
  2. "我们的"版本
  3. "他们的"版本

你可以用git ls-files -s 看到它们

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

当您有合并冲突时,Git会要求您自己解决冲突,因此您必须编辑文件。当你git add编辑的文件时,这是你已经解决了冲突的标志,就像在普通的Git工作流程中一样:你必须发出你想要提交的信号。最好将merge看作是commit的一个变体,用于进行合并提交。它唯一真正特别的地方是,当没有冲突时,它在没有git add的情况下提交更改。

最新更新