我试图理解为什么git中使用的40个字符标识符是唯一的并且它是万无一失的。
还有哪些用于生成唯一键的输入。
答案 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视为始终唯一。