【问题标题】:composing a commit message without actually commiting在没有实际提交的情况下编写提交消息
【发布时间】:2015-10-01 02:02:54
【问题描述】:

我想为提交消息调出常用编辑器,而无需在编辑后实际创建提交。它应该提出一条消息,其中包含通常的git status 信息和完整的git diff,在编辑后再次被剥离。生成的文本打算稍后传递给git commit-tree

所以基本上我在寻找类似的东西

git commit -eF proposed-message.txt -v --cleanup=default

这不会创建提交,而是将提交消息吐出到标准输出或将其保留在文件中以供以后使用。是否有一些 git 子命令可以帮助我解决这个问题?

【问题讨论】:

标签: git commit


【解决方案1】:

您可以使用prepare-commit-msg hook 来实现您想要的,方法是将提交消息文件复制到某处,然后使提交失败(以非零状态退出挂钩)。您可以在文件上运行编辑器来模拟 git 会做什么,如果钩子没有失败(只需运行$(git var GIT_EDITOR) "$1";参见git-var)。当然,您需要以某种方式打开和关闭此操作(例如,可能通过环境变量),以便它不会影响正常提交。

不过,一般来说,这种诡计是个坏主意。请参阅 Jubobs' comment 中链接的 StackOverflow 帖子。

【讨论】:

    猜你喜欢
    • 2015-12-29
    • 2017-04-11
    • 2011-09-07
    • 2011-12-04
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 2023-04-07
    相关资源
    最近更新 更多