git - 语义版本控制,用 2 个字节标识提交
问题描述
我有具有以下版本编号的嵌入式软件:
<产品编号>.<主要>.<SVN 提交编号>
- 产品编号任意设置,对应每个软
- Major 是任意设置的,它随着软件的主要演变而增加
- SVN 提交号随着每次提交而递增
问题是我们从 svn 交换到 git 并且我们丢失了被 SHA “替换”的 SVN 提交号。
因此,我们可以将 <SVN commit number> 替换为 <git commit SHA>。但是,我们不能这样做,因为最后一个版本号被限制为 2 个字节,并且 <git commit SHA> 通常被压缩为 3 个字节。
还有另一种考虑提交的版本编号方法吗?
解决方案
如果您接受仅由 2 个字节组成的散列的可能性,则可以使用命令的选项--abbrev=<n>
,git describe
其中n
是您想要的 git 散列的字节数。在您的情况下,它将是:
git describe --always --abbrev=2
请记住,有可能只有 2 个字节,您的哈希就不再是唯一的,即使它也与您的版本号相关,这是一个遥远的机会。需要该--always
选项才能仅显示哈希。
推荐阅读
- react-native - 如何优化 React Native 应用程序和 FalstList 的速度
- c# - 轰炸机的爆炸有时无法正常工作
- javascript - 使用 Spring Security 时,有什么方法可以使用引导模板登录?
- asp.net-mvc - MVC.NET 如何在编辑后保护提交表单
- mysql - 比较两个数据库表中的两个值
- angular - TSLint:禁止导入延迟加载的库:降级组件、在 AppModule 和角度引导中导入的模块
- javascript - Vue.js 应用程序从新页面的下拉菜单中打开 url 链接
- python - 如何通过python将生成的文本文件转换为tsv数据形式?
- ruby-on-rails - Selecting a nested record to share show page of with selected users in action mailer via checkbox selection
- postgresql - 不在 Postgresql 中使用“开始事务”和“提交”语句