前面的7个提交代码可以代表git提交,为什么还有40个长度呢?

时间:2017-12-01 16:05:41

标签: git

一般来说,提交ID字符长度为40,但您知道前7个字符也可以代表提交。既然前面的7个代码可以表示提交,为什么提交代码长度仍然是40?

enter image description here

您可以从上部快照看到,父提交代表代码长度为7。

修改

我在问为什么GitHub选择使用40个字符来表示提交ID但只有7个字符来表示父ID?

1 个答案:

答案 0 :(得分:1)

如前所述,这纯粹是一个设计决定:

  • 使用40-hexdigits作为当前提交的完整SHA1。
  • 使用7-hexdigits开始代表父母(或父母,more than one as in this one)。
    请注意,它不会消除父提交的歧义,因为Linux内核项目需要11到12个十六进制数,而 the Git repo 本身需要10个十六进制数来唯一标识它们拥有的对象。

点击“How much of a git sha is generally considered necessary to uniquely identify a change in a given codebase?

了解详情