3

我在我的工作目录中保留了我的 git 日志的文本文件,并且我有一个在提交后更新它的脚本。这很好,但这样做的效果是,repo 中的版本总是落后一个提交。

是否可以编写一个预提交钩子来调用脚本并将文件添加到存储库中,从而有效地保存日志的文本版本以及其中的当前提交信息?

我是 git hooks 的新手,不知道这将如何工作,如果可能的话。感谢您的帮助!

4

2 回答 2

3

简短的回答:没有。日志包含提交的 SHA1,这取决于提交的内容。如果您更改日志,您将更改提交,它仍然是无效的。

我想知道你为什么要这么做,真的。在存储库中,git logcat 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
于 2011-01-29T04:14:58.910 回答
1

我只是从 Bitbucket/Github 上的 RSS 提要中提取完整日志。这似乎是实现您所要求的最简单的方法,尤其是在使用 Heroku 时。

于 2012-07-27T16:15:12.450 回答