我敢肯定人们已经这样做了,因此才有了这个问题。 在我的 C 项目中,我使用以下方法定义当前版本:
#define VERSION 3.2.1
这被放置在全局头文件中并用于各种任务,例如在 UDP 数据包中告诉用户正在运行的固件/软件的版本。
在 Git(使用 git bash)中,我们可以为提交分配标签,允许提交被它们的散列和这个标签引用。我可以手动使用:
git checkout <hash>
git tag v3.2.1
但是,我希望 Git 从 C 头文件中获取版本变量,从而确保它只被手动输入一次。
我想有人有一些 bash 脚本可以做到这一点,并且可以设置为使用 Git 别名,以便在设置后轻松处理?
非常感谢。 埃德
最佳答案
假设v.h
是带有
#define VERSION 3.2.1
定义。
您可以从中提取 VERSION
值,例如,使用
version=$(echo VERSION | c99 -xc -include v.h - -E|tail -n1)
然后做
git tag v$version
关于c - 将 C 中的 '#define Version x.x' 与 Git 中的版本标记链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53873189/