您可以使用 Git 的钩子功能,在提交代码时自动生成版本号并将其写入指定的头文件中。
以下是一个示例脚本,用于生成版本号:
#!/bin/bash
# 获取当前的日期和时间
DATE=$(date +%Y%m%d%H%M%S)
# 从 Git 中获取最后一次提交的哈希值
HASH=$(git rev-parse --short HEAD)
# 组合版本号字符串
VERSION=$DATE-$HASH
# 将版本号写入指定的头文件中
echo "#define VERSION \"$VERSION\"" > /path/to/version.h
# 添加修改后的头文件到 Git 暂存区
git add /path/to/version.h
将上述脚本保存为 pre-commit
文件,并将其放置在 .git/hooks
目录下。然后,赋予该文件可执行权限:
chmod +x .git/hooks/pre-commit
接着,每当您执行 git commit
命令时,该脚本就会被触发,并自动更新版本号。
请注意,在使用此方法时,请确保您正在使用 Git 2.9 或更高版本。否则,--short
参数可能不会正常工作。