我只是对此很好奇。提交 ID 不能是随机的,因为它们需要是唯一的。不过,它们似乎是随机的,这让我想知道,为什么它们不只是连续的数字?我的意思是,它们只需要在存储库中是唯一的,对吧?或者我在这里错了?
Thanks!
Git 提交 ID 是 SHA-1 哈希值
在像 Git 这样的分布式版本控制系统中,修订号必须在所有系统中保持一致。由于 Git 历史记录是有向非循环图而不是线性序列,因此提交和对象使用 SHA-1 哈希来跨系统进行明确标识。
Git 中的提交 ID 不是随机的。它们实际上是提交对象的 SHA-1 哈希值,其中包括树和对象的清单。看Git 内部结构 http://git-scm.com/book/en/Git-Internals-Git-Objects了解更多详细信息。最终结果是任何给定的对象哈希都是确定性的:相同的对象将产生相同的哈希,无论它如何到达当前状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)