【问题标题】:How to reuse pending comments after git commit fail?git commit 失败后如何重用待处理的评论?
【发布时间】:2013-12-14 06:59:47
【问题描述】:

我使用外部编辑器为“git commit”填充 cmets,如果由于某种原因提交失败,所有 cmets 都会消失。是否有一些地方存储了我的提交失败的 cmets ?

是否有任何特定的 git 命令可以重用此类挂起的 cmets 或使用挂起的 cmets 重复提交?

【问题讨论】:

    标签: git git-commit


    【解决方案1】:

    在编辑评论时,您可以将编辑器的内容保存在某个文件中,比如message.txt。如果由于某种原因提交失败,那么您可以像这样重用该文件:

    git commit -F message.txt
    

    如果您在退出编辑器之前没有保存消息并且提交失败,那么它就永远消失了。

    顺便说一句,请注意提交消息编辑器包含以下内容:

    # Please enter the commit message for your changes. Lines starting
    # with '#' will be ignored, and an empty message aborts the commit.
    # Explicit paths specified without -i nor -o; assuming --only paths...
    # ...
    

    如果您将此文本包含在您保存的消息文件中,然后您稍后将此文件与-F 或--file 标志一起使用,那么这些行将包含在提交消息中 .所以你会想要清理它们,或者一开始就不保存它们。

    更新

    正如你自己发现的那样,即使提交失败,最后提交消息似乎也保存在.git/COMMIT_EDITMSG 中。所以你可以用命令重用它:

    git commit -eF .git/COMMIT_EDITMSG
    

    【讨论】:

    • 我只是发现即使提交失败,最后一条提交消息也存储在文件“COMMIT_EDITMSG”中的.git文件夹下
    • @sim 哇。这太酷了!我认为您应该自己发布该解决方案。
    • 不幸的是,当我们需要重用文件 COMMIT_EDITMSG 时,git 并没有做任何特别的事情,因此“git commit -e -F .git/COMMIT_EDITMSG”是最合适的,因为它允许编辑消息并且不包括 cmets保存后
    • 谢谢,-e 也是一个不错的举措。我更新了我的答案,虽然这当然是你的自己的答案。
    猜你喜欢
    • 2011-01-08
    • 2011-11-09
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2013-08-28
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多