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