更新:这原来是我正在使用的 SmartGit 版本(版本 3.0.11)中的一个错误 - 一个类似于 gitk 的应用程序。“可推送提交”列表在执行“git pull”后被修改,一些尚未推送的本地提交被意外地从该 UI 列表中删除。这导致了这篇文章中描述的混乱,似乎唯一没有被推送的提交是“合并提交”。
我将更改推送到远程(在 GitHub 上)。另外两个开发者在我之后提交了一些提交。我绝对没有本地更改或提交,并且做了一个“git pull”。
立即,在它撤下更改后,它迫使我进行合并提交(允许我键入可选消息)。我已经使用 Git 大约 2 年了,但我还没有遇到过将更改拉入干净的本地存储库会强制合并提交的情况。这在过去一周发生了两次,我不确定该怎么做,所以我两次都立即推送了这个合并提交,没有任何问题(!?)。
在我们的团队中,我们有一些喜欢变基的开发人员和其他使用 git pull 的开发人员。我想知道它是否可能相关(即使我们已经进行了一年多的设置,而一周前我还没有遇到过这种情况)。我使用 git pull。
下图显示了历史。
我推送的原始提交是紫色线上的底点。其他两个开发人员追随我,在拉动他们的更改后,它在我的本地存储库中创建了顶部的“合并分支”提交(在同一条紫色线上)。