解决 git 拉合并冲突
Resolving git pull merge conflicts
对于 git 拉(因此 git 通过扩展合并)引发合并冲突是否正确,本地和远程存储库必须不同步?基本上,是否有必要满足这两个条件才能获得合并冲突 -
- 必须至少有一项本地提交尚未推送到远程。
- 必须至少有一个远程提交(尚未被拉取)涉及更改与本地提交之一(尚未被推送)相同的代码行。
是的,两个存储库必须至少有一个不同步的提交,每个更改相同的行。否则,远程分支中最多的 up-to-date 更改将被转移到本地克隆而不会发生冲突。
非常正确。
关于合并:当然你这边肯定有远程没有的commit;否则我们会快进,这不是真正的合并。并且远程上必须有一个你没有的提交:否则什么也不会发生(你会是最新的)。
但这仅仅是获得合并的先决条件。
至于合并冲突:不一定是同一行代码,可以是相邻的行。还有其他方法可以产生合并冲突,例如一方完全删除文件。
然而,重要的不是“本地提交之一”。这是自上次共同提交以来每一方所做工作的总数。如果你有一个提交编辑了他编辑的同一行,然后你有另一个提交再次将其改回或将其更改为他所拥有的,则没有冲突。
对于 git 拉(因此 git 通过扩展合并)引发合并冲突是否正确,本地和远程存储库必须不同步?基本上,是否有必要满足这两个条件才能获得合并冲突 -
- 必须至少有一项本地提交尚未推送到远程。
- 必须至少有一个远程提交(尚未被拉取)涉及更改与本地提交之一(尚未被推送)相同的代码行。
是的,两个存储库必须至少有一个不同步的提交,每个更改相同的行。否则,远程分支中最多的 up-to-date 更改将被转移到本地克隆而不会发生冲突。
非常正确。
关于合并:当然你这边肯定有远程没有的commit;否则我们会快进,这不是真正的合并。并且远程上必须有一个你没有的提交:否则什么也不会发生(你会是最新的)。
但这仅仅是获得合并的先决条件。
至于合并冲突:不一定是同一行代码,可以是相邻的行。还有其他方法可以产生合并冲突,例如一方完全删除文件。
然而,重要的不是“本地提交之一”。这是自上次共同提交以来每一方所做工作的总数。如果你有一个提交编辑了他编辑的同一行,然后你有另一个提交再次将其改回或将其更改为他所拥有的,则没有冲突。