如何在git中生成40个字符的唯一标识符?它为何独一无二?

时间:2011-03-14 06:37:53

标签: git

我试图理解为什么git中使用的40个字符标识符是唯一的并且它是万无一失的。

还有哪些用于生成唯一键的输入。

1 个答案:

答案 0 :(得分:2)

它是一些头信息和提交的SHA-1哈希值;有关散列的详细信息,请参阅http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#object-details;有关正在散列的提交对象,请参阅http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#commit-object。它不能保证是唯一的(因为它是使用多对一映射创建的),但是碰撞的概率很小,几乎为零。您应该将ID视为始终唯一。