我在我的工作目录中保存了我的git log的文本文件,并且我有一个脚本在提交后更新它。这很好,但是这样做的结果是repo中的版本总是一个提交。
是否可以编写一个预调用钩子来调用脚本并将文件添加到repo中,实际上保存了日志的文本版本,其中包含当前的提交信息?
我是git hooks的新手,并且不知道这是怎么回事,如果有可能的话。我很感激帮助!
答案 0 :(得分:3)
简答:不。日志包含提交的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
答案 1 :(得分:1)
我只是从Bitbucket / Github上的RSS提要中提取完整日志。这似乎是实现你所要求的最简单的方法,尤其是在使用Heroku时。