有没有办法在我每次提交时将 git 提交哈希包含在文件中?我只能在归档期间找到如何执行此操作,但我无法找到如何为每次提交执行此操作。
我正在使用 git 作为修订控制进行科学编程,因此这种功能对于可重复性的原因非常有帮助(即,将 git 哈希自动包含在所有结果文件和图形中)。
最佳答案
您可以使用 $Id$
轻松放置文件 的 SHA-1(更确切地说是 blob 的 SHA-1,即文件内容的 SHA-1)键盘和 ident
gitattribute .
如果你想把提交的SHA-1,没有开箱即用的解决方案,但你可以使用clean
和 smudge
filter
的命令gitattribute .请注意,这会严重影响性能,因为在提交之后,每个 文件都必须修改以反射(reflect)所做的新提交。
尽管如该问题的其他答案所述,您最好在构建时将版本号嵌入生成的文件中,例如Linux 内核和 git 项目本身就是这样做的。
关于git - 在不归档的情况下将 Git SHA1 信息扩展到 checkin 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2853188/