我在我的工作目录中保留了我的 git 日志的文本文件,并且我有一个在提交后更新它的脚本。这很好,但这样做的效果是,repo 中的版本总是落后一个提交。
是否可以编写一个预提交钩子来调用脚本并将文件添加到存储库中,从而有效地保存日志的文本版本以及其中的当前提交信息?
我是 git hooks 的新手,不知道这将如何工作,如果可能的话。感谢您的帮助!
我在我的工作目录中保留了我的 git 日志的文本文件,并且我有一个在提交后更新它的脚本。这很好,但这样做的效果是,repo 中的版本总是落后一个提交。
是否可以编写一个预提交钩子来调用脚本并将文件添加到存储库中,从而有效地保存日志的文本版本以及其中的当前提交信息?
我是 git hooks 的新手,不知道这将如何工作,如果可能的话。感谢您的帮助!
简短的回答:没有。日志包含提交的 SHA1,这取决于提交的内容。如果您更改日志,您将更改提交,它仍然是无效的。
我想知道你为什么要这么做,真的。在存储库中,git log
与cat saved-git-log
. 如果您希望将此作为更改日志,对于已发布的版本,只需将其创建为构建/部署过程的一部分,例如如下所示:
tarname=my-project-$(git describe HEAD).tar
git log > changelog.txt
git archive --format=tar HEAD > $tarname
tar -Af $tarname changelot.txt
gzip $tarname
我只是从 Bitbucket/Github 上的 RSS 提要中提取完整日志。这似乎是实现您所要求的最简单的方法,尤其是在使用 Heroku 时。