默认的git日志缩略格式长度

  • 本文关键字:格式 git 日志 默认 git
  • 更新时间 :
  • 英文 :


就像在git log缩写格式长度中已经回答的那样,git log中%h的长度是可以修改的。然而,我的问题是默认在哪里长度存储?

我定义了一个git别名:

hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short

当我在两个不同的仓库中使用git hist时,一个显示9个字符的哈希缩写,而另一个显示7个字符,像大多数其他仓库一样。

如果您设置了core.abbrev设置,Git将读取它。如果没有,或者如果您将其设置为文字字符串auto,则默认值是动态地计算近似值,基于Git存储库中对象的数量-好吧,是该数字的近似值,长度将适合Lasse V. Karlsen在注释中指出。

git config文档是这样描述的:

core.abbrev
设置对象名称缩写为的长度。如果未指定或设置为"自动",则根据存储库中打包对象的大致数量计算适当的值,希望这足以使缩写对象名称在一段时间内保持唯一。最小长度为4.

你提到你有:

…两个不同的存储库,一个显示9个字符的哈希缩写[而不是更常见的7]

7是内部计算的默认最小值(它使用近似对象计数的log2的粗略近似值);有9的那个肯定比其他的有更多的对象。正如文档所述,目标是生成一个即使在存储库增长后仍然有效的缩写,所以如果现在估计为9,那么现在很有可能7仍然有效,但可能到明年就不行了。

最新更新