我会用一个例子来表达我的问题。
假设 Adam 和 Eve 在 master 分支上工作,他们都在提交 C1 上签出。
Adam 创建提交 A1、A2 并将它们推送到原点。
Eve 创建了与 A2 冲突的提交 E1。
在推送她的更改之前,Eve 必须更新她的本地 repo,所以她运行 git pull。
Eve 现在看到了由 E1 和 A2 引起的冲突(标记为“未合并的路径”),但是当她运行“git status”时,她还可以看到在 A1 中所做的更改为“要提交的更改”。
在 Eve 解决了她的冲突之后,她提交了她的更改和 Adam 从 A1 所做的更改,并推送。
来自提交 A1 的更改现在将出现在 Eve 的原始名称下(而不是 Adam 的)。
为什么会这样?我该如何解决?
另请注意 - 没有冲突时不会发生这种情况。
我知道使用 git pull --rebase 可以完全避免这个问题,并且我理解常规 pull 和 rebase pull 之间的区别,但我不明白它是如何避免这个问题的。
谢谢