我正在使用 git 的钩子(Hook)之一 commit-msg
来验证特定格式和内容的提交消息。
但是,每当提交消息未能通过 Hook 时,我有时会丢失消息中的一段或更多文本。
我曾尝试将其保存在某处,但我不确定如何在用户尝试修复失败的提交消息时将其恢复给用户,只有最后一条正确的提交消息显示出来。
有没有其他人处理过这个问题?你是怎么解决的?
信息:我正在使用 python 脚本进行验证。
最佳答案
提交消息存储在 .git/COMMIT_EDITMSG
中。在“失败”的提交尝试之后,您可以运行:
git commit --edit --file=.git/COMMIT_EDITMSG
或更短,例如:
git commit -eF .git/COMMIT_EDITMSG
这将在您的 $EDITOR
(或您在 Git 配置中设置的编辑器)中加载错误的提交消息,以便您可以尝试修复提交消息。您还可以为上述内容设置一个别名,使用:
git config --global alias.fix-commit 'commit --edit --file=.git/COMMIT_EDITMSG'
然后使用 git fix-commit
代替。
关于python - 当 git commit-msg Hook 失败时,如何恢复提交消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52975103/