首页 > 解决方案 > GIT如何在文件中注入提交信息,以便在推送到远程期间/之后?

问题描述

我们的任务是在提交的文件中注入提交者、提交日期和作者姓名等提交信息。

经过一番搜索和这个线程后,我提交时如何将 Git 提交 ID 填充到文件中? 我们使用关键字扩展和格式占位符实现了对文件的注入。但是,信息是在结帐或存档后注入的。

是否可以在推送期间或之后将提交信息注入文件,以便远程文件包含该提交信息?我们意识到这听起来像是不必要的工作,但我们想知道执行此要求的可能性。

标签: gitgithubgit-commitgit-pushkeyword-expansion

解决方案


您不能这样做,因为提交 id 实际上是根据整个存储库快照(所有文件)计算的 SHA-1 哈希,还包括您要写入该提交 id 的文件(这将更改文件并因此也提交 id)。

此外,将有关提交的任何信息存储到文件中对于git已经做的事情和没有多大意义的事情都是多余的。如果您在问题中解释一下为什么要这样做,这将有所帮助。

如果您只是希望此信息在某处可见(例如,将某些可部署的工件固定到源存储库中的提交),您实际上不需要提交它,只需调用 git 并询问它当前的 HEAD 提交属性并将它们构建到二进制工件。


推荐阅读