首页 > 解决方案 > 为什么在 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 标签或提交?

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

v4.14.98-5985-g1175b59

18.04 中的相同命令给出

v4.14.98-5985-g1175b5961153

如何从中删除“61153”?

标签: gitembedded-linux

解决方案


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

git describe --abbrev=8

要将此 repo 永久设置为始终报告具有 8 个十六进制数字的缩写哈希,

git config core.abbrev 8

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

如果core.abbrev未设置,则git显示足够的十六进制数字以尝试确保打印的标识符是安全唯一的。这在git-config文档中有所描述:

core.abbrev

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


推荐阅读