我是唯一的开发人员,使用 GIT 对用 C 编写的嵌入式软件进行版本控制。软件需要知道它的版本,目前是通过包含一个带有单个 #define 的头文件来完成的:
#define SOFTWARE_VERSION "1.021"
该头文件由预构建 Python 脚本自动创建,该脚本试图从 GIT 存储库中获取最新标记(我使用当前版本字符串标记所有已发布版本)。这是我用来获取最新版本字符串的命令。
git describe --tag HEAD
整个链按预期工作,但它似乎并不健壮(我希望它会随着存储库变得更加复杂/分支而中断)。另外,我认为我可能遗漏了一些重要的东西,因为必须有更简单的方法来做到这一点。
任何人都可以提供工作流程或实施细节的改进吗?(如果有人感兴趣,我可以发布解析 git describe 输出的 python 脚本)