Git Extensions有未决的更改,而不是我自己的?

时间:2012-05-16 15:59:17

标签: git version-control github msysgit git-extensions

这个问题可能是一个很长的问题,因为我仍然无法可靠地复制这个问题,但很多时候我的几个同事都遇到了这个问题,但它仍然让我感到困惑。

Git Extensions(在Windows 7上)偶尔会在他们的工作目录中显示挂起的更改,这些更改在他们提交并执行推送后不是他们自己的。推送失败是因为它表示他们有未决的更改,尽管事实上他们在推送之前几乎没有提交所有挂起的更改。这是我被召唤的时候。在检查这些变化后,它们是由另一个提交者进行的更改并被推送到原点。有几次这些变化甚至都是我所做的改变。

Devloper A(我们将调用Bob)继续进行并对其存储库进行一系列更改。 Bob然后提交这些更改并将提交推送到原点。

开发人员B(将调用Fred)也会进行一些更改并将其提交到他的存储库。然后弗雷德试图将这些变化推向原点。在这一点上,我希望弗雷德得到一个错误,说他的存储库是由1次提交落后于原点,并告诉他先做拉。但是,他得到的错误说推送失败了,因为他的工作目录中有待更改。当Fred查看挂起的更改时,他发现所有更改实际上都是Bob提交中所做的更改。

当Fred将这些变化视为自己的变化时,一切似乎都很好。什么都没有打破,但它发生时非常奇怪。我还没有看到如果我们尝试撤消挂起的更改会发生什么,因为如果我们这样做,我担心这些更改基本上会被恢复。

有没有其他人曾经使用Git或Git Extensions体验过这种奇怪的行为?

更新

我在项目历史中找到了一个实例。两个提交对相同数量的文件都有相同的确切更改,但提交是由两个不同的开发人员完成的。

以下是Bob的原始提交: 这是弗雷德的不懈承诺: 编辑:为了澄清,Fred意味着输入“推送更改”作为提交消息,因为它是试图推动(而非拉动)导致出现神秘的待定更改的行为。

1 个答案:

答案 0 :(得分:0)

如果下次发生错误消息,您可以复制并发布错误消息吗?帮助内容 - > Git命令日志也会有所帮助。 Fred是否选中了Auto pull on rejected选项(FormPush - >高级选项)?