我的目标是在存储库中每个文件的末尾维护所有提交历史记录/消息的日志。我使用 commit-msg 挂钩来获取提交消息,准备它并将其附加到文件中。
但是,我注意到由于文件在暂存后发生了更改,因此 git status 仍然显示为已修改。执行此操作的正确方法是什么?
尽管我同意 Oli Charlesworth 的评论,即您不应该这样做,但实际上这是可能的。这是一个简单的提交后钩子,它重写提交,将提交消息附加到文件“changelog”中。
if ! test ${GIT_BYPASS_POST_COMMIT+set}
then
export GIT_BYPASS_POST_COMMIT=1
git show --format=%B -s >>changelog
git add changelog
git commit --amend -C HEAD
fi
如果你尝试这个,我希望你很快就会发现它在正常使用 git 时效果不佳。最简单的例子是,如果您修改提交,您将修改已经更改的提交changelog
,所以钩子最终会复制提交消息。
您可以决定是想尝试让它发挥作用,还是放弃它,但我建议后者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)