为什么git rev-parse --short使用非默认长度?

Bla*_*ble 5 git

git rev-parse --short HEAD在存储库AI上运行时,获得长度为7的哈希输出,因为这是git文档中--short选项的默认长度。

在存储库BI中运行相同的命令时,将获得长度为9的哈希输出。--short可能会在每个存储库的基础上覆盖该选项的默认长度吗?

Bla*_*ble 6

看来文档已过时。发生这种情况的原因可能是两件事之一:

  1. 存储库B中存在长度为8的重复哈希。git rev-parse --short将尝试返回唯一的哈希字符串。这似乎不太可能,但理论上是可能的。

要么

  1. 此存储库中有很多打包对象,git rev-parse --short实际上会提供不少于7的数字,但由于存储库中打包对象的数量而可能会更高。

https://git-scm.com/docs/git-config#git-config-coreabbrev

设置长度对象名称的缩写。如果未指定或设置为“ auto”,则根据存储库中打包对象的近似数量计算一个适当的值,希望该值足以使缩写对象名称在一段时间内保持唯一。

因此,官方文档已过时--short,即使我没有覆盖长度(我没有覆盖),该选项也不会将长度强制设置为7。