我使用 git 作为我的 c++ 项目的版本跟踪器。
有时我需要重复计算,我想知道我使用的是哪个版本的程序。
将 # 的提交放入主可执行文件的好方法是什么?换句话说。我希望程序在我运行程序时在介绍性消息中告诉我当前提交的 #。
我能想到的一种方法是从 shell 中使 c++ 程序午餐“git log”并提取提交 # 但我不确定在制作期间如何做。
(我用的是linux)
最佳答案
可能最简单的方法是在您的 makefile 中添加一条规则以生成具有当前 git 提交 ID 的 .c 文件:
gitversion.c: .git/HEAD .git/index
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
现在只需像往常一样将 gitversion.c
添加到您的构建过程中。确保在 make clean
上将其删除,并将其添加到 .gitignore
中,这样它就不会意外添加到 git 存储库中。将 extern const char *gitversion;
添加到某处的标题中,您可以像这样访问它。
关于c++ - 如何将 git commit-number 包含到 C++ 可执行文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526451/