为什么在 Ubuntu 18.04 的内核版本中添加了额外的位

Why the extra bits are added to the kernel version in Ubuntu 18.04

我正在从 Ubuntu 16.04 PC 中的 git 克隆内核版本 4.14.98_2.0.0_ga。 我得到的内核版本为 4.14.98-imx_4.14.98_2.0.0_ga+g5d6cbea。 但是当我在 Ubuntu 18.04 PC 中做同样的事情时,我在内核版本中额外添加了 5 位作为 4.14.98-imx_4.14.98_2.0.0_ga+g5d6cbeafb80c。谁能告诉我为什么要添加这些额外的位?它取决于主机 PC 我正在使用什么还是它采用 git 标签或提交?

如果我在 16.04 中给出命令 git describe 我得到

v4.14.98-5985-g1175b59

18.04 中的相同命令给出

v4.14.98-5985-g1175b5961153

如何从中删除“61153”?

只打印一次相同的标识符,

git describe --abbrev=8

要永久设置此存储库以始终报告带有 8 个十六进制数字的缩写哈希,

git config core.abbrev 8

要为所有本地存储库永久设置此设置(除非存储库使用本地每个存储库配置单独覆盖它)将 --global 添加到上述命令行。

core.abbrev 未设置时,git 显示足够的十六进制数字以尝试确保打印的标识符是安全唯一的。这在 git-config documentation:

中有描述

core.abbrev

Set the length object names are abbreviated to. If unspecified or set to "auto", an appropriate value is computed based on the approximate number of packed objects in your repository, which hopefully is enough for abbreviated object names to stay unique for some time. The minimum length is 4.