gpt4 book ai didi

git - 是否存在两个 git commit id 相同的情况(在两个不同的项目中)?

转载 作者:行者123 更新时间:2023-12-04 06:04:27 26 4
gpt4 key购买 nike

我正在开发新版本的 git-stats一种根据 Git 提交、作者等制作图表的工具。

在当前版本中,它接受相同的提交 ID,为项目名称命名空间:

{
"some-project-url" { "hash1": "date", ... }
"some-project-url-fork" { "hash1": "date", ..., "commit-in-fork-id": "date" }
}

我想删除存储项目 url 的要求,这意味着没有相同的哈希值。

现在我在想这是否是一个好举动。

导入多个项目,每次提交存储一次,有两个相同id的概率是多少?

其实在现实生活中,什么时候会碰巧有两个相同的id(在两个不同的项目中)?

最佳答案

SHA-1 哈希由 160 位组成,允许 2^160 = 1.4615e+48 种组合。生日悖论使得它只需要粗略地取这个数字的根(大约 2^80)来获得 50% 的碰撞机会,但这仍然是巨大的。但是请注意,散列的输入完全不是随机的,因为它只是提交数据的散列(参见 here )。

我想最有可能发生冲突的原因不是 SHA1,而是输入数据中的精确匹配。这似乎不太可能,因为作者的详细信息和时间戳也在那里。

总而言之,使用提交哈希值来识别提交似乎足以识别跨不同项目使用而没有任何真正的麻烦风险。

关于git - 是否存在两个 git commit id 相同的情况(在两个不同的项目中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com