git - 为什么在 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”?
解决方案
只打印一次相同的标识符,
git describe --abbrev=8
要将此 repo 永久设置为始终报告具有 8 个十六进制数字的缩写哈希,
git config core.abbrev 8
要为所有本地存储库永久设置此设置(除非存储库使用本地每个存储库配置单独覆盖它)添加--global
到上述命令行。
如果core.abbrev
未设置,则git
显示足够的十六进制数字以尝试确保打印的标识符是安全唯一的。这在git-config
文档中有所描述:
core.abbrev
设置长度对象名称的缩写。如果未指定或设置为“auto”,则会根据存储库中打包对象的大致数量计算适当的值,希望这足以让缩写的对象名称在一段时间内保持唯一性。最小长度为 4。
推荐阅读
- java - 如何迭代列表
- python - 如何测试使用图像的 FastAPI api 端点?
- gatsby - 延迟盖茨比的路线变更
- c++ - 避免重复的 C++ 虚拟表查找
- typescript - TypeScript 根据输入类型定义通用输出类型
- python - Python Tkinter循环问题以检查鼠标是否点击了行(画布)
- angular - 构建使用应用程序时未找到自定义 Angular 库中的依赖项
- javascript - 在本地使用“npx sequelize”而不全局安装
- c# - 使用 PostgreSQL 实体框架定义一对多关系的一侧
- git - Visual Studio Code / Git - 将更改从主分支移动到新分支