【发布时间】:2017-01-31 15:21:07
【问题描述】:
我想知道是否可以使用相同的哈希创建两个提交。
假设我在master 分支上,我创建了一个名为foo 的新分支。现在假设我有两个终端会话,它们都被授权为作者john.smith@gmail.com。现在假设一个终端会话在master 上,另一个终端会话在foo 上,并且两个分支都具有完全相同的分阶段更改。现在假设我在两个终端会话中同时运行 git commit 命令...
这两个提交最终不会有相同的哈希值吗?
【问题讨论】:
-
@Slava.K 完全不同,我的问题不是关于 git 将如何处理这种情况,我的问题是关于你是否真的可以创造这种情况。
-
另见stackoverflow.com/questions/25128077/… - 在脚注1中我给出了一个计算“非强制”碰撞概率的公式。如果您可以破坏或部分破坏 SHA-1,则可以增加发生冲突的概率。但是,即使您对通用 SHA-1 有已知的第二次原像攻击,您也可能需要对其进行修改以使用 Git。
标签: git