【发布时间】:2011-06-17 15:04:46
【问题描述】:
我在我的工作目录中保存了我的 git 日志的文本文件,并且我有一个在提交后更新它的脚本。这很好,但这样做的效果是 repo 中的版本总是落后一个提交。
是否可以编写一个预提交挂钩来调用脚本并将文件添加到 repo,从而有效地保存日志的文本版本以及其中的当前提交信息?
我是 git hooks 的新手,不知道它是如何工作的,如果可能的话。感谢您的帮助!
【问题讨论】:
标签: git githooks pre-commit
我在我的工作目录中保存了我的 git 日志的文本文件,并且我有一个在提交后更新它的脚本。这很好,但这样做的效果是 repo 中的版本总是落后一个提交。
是否可以编写一个预提交挂钩来调用脚本并将文件添加到 repo,从而有效地保存日志的文本版本以及其中的当前提交信息?
我是 git hooks 的新手,不知道它是如何工作的,如果可能的话。感谢您的帮助!
【问题讨论】:
标签: git githooks pre-commit
简短的回答:不。日志包含提交的 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 时。
【讨论】: