我希望为提交消息调出通常的编辑器,而不是在编辑后实际创建提交。它应该建议一条消息,其中填充了通常的git status信息和完整的git diff,编辑后将再次剥离这些信息。生成的文本将在稍后传递给git commit-tree。
所以从本质上讲,我寻找的东西是
git commit -eF proposed-message.txt -v --cleanup=default这不会创建commit,而是将commit消息输出到标准输出,或者将其留在文件中供以后使用。有没有一些git子命令可以帮到我?
发布于 2015-07-13 06:14:13
通过将提交消息文件复制到某个位置,然后使提交失败(以非零状态退出钩子),您可以使用prepare-commit-msg hook来实现您想要的结果。如果钩子没有失败,您可以在文件上运行编辑器来模拟git会做什么(只需运行$(git var GIT_EDITOR) "$1";请参阅git-var)。当然,您需要以某种方式打开和关闭此操作-例如,可能通过环境变量-这样它就不会影响正常提交。
然而,一般来说,这种欺骗是一个糟糕的想法。请参阅Jubobs' comment中的链接StackOverflow帖子。
https://stackoverflow.com/questions/31372660
复制相似问题