两个 Git 合并具有相同的提交哈希 ID

Two Git merges have a same commit hash ID

我在 Git 日志中遇到问题;看来我的团队丢失了一些更改。

我想知道两个合并提交是否可以共享同一个提交哈希 ID。例如,合并提交昨天合并了提交 A 和提交 B。在 Git 日志中,另一个提交合并了今天的提交 C 和提交 B。正常情况下会发生吗?

[更新] Git 日志如下所示。我不确定这是否是 SHA-1 碰撞;我担心的是我可以看到两个具有相同 ccccccc 提交的合并。我希望它能解决我的问题。

=============================================================
commit yyyyyyy
Merge: aaaaaaa ccccccc
Author: Joe myself
Date:   Today some time

    Merge remote-tracking branch 'origin/a-branch' into feature-branch

commit xxxxxxx
Merge: bbbbbbb ccccccc
Author: Kim
Date:   Two days ago some time

    Merge branch 'develop' of https://..... into her-branch

commit ccccccc
Merge: ddddddd eeeeeee
Author: Joe myself
Date:   Two days ago some time

    Merge remote-tracking branch 'origin/another-branch' into a-branch
=============================================================

参见 this post,其中解释了两个 SHA-1 哈希之间发生冲突的可能性;这种情况非常不太可能,但并非完全不可能。

大多数视觉 git 浏览器只会显示哈希的前 8 个 digit,虽然这仍然不太可能,但比整个哈希冲突的可能性要大得多。

运行 git log 并检查你的提交,我的想法是你可能误读了一些东西 - 如果你确实发生了碰撞,我会给你一个奖励 :D

如果您愿意,[编辑]您的 post 添加您认为可能有问题的 git log 内容,以便我们更好地理解您的问题。

干杯。