Git: 如何在“ Git 重置”之后重用/保留提交消息?

作为 Git 用户,我经常遇到这种情况,我需要以一种不适合 --amendrebase -i和修复提交的方式重新进行一次或多次提交。通常我会这么做

git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?

我非常重视合理的组合提交消息。它们通常包含更大的文本以及更改的引用和理由。到目前为止,我对通过未排序的 git refloggit log和复制粘贴进程恢复旧提交消息的漫长过程感到相当恼火。

有没有更好的方法来解决这个问题? 如果我的包含不止一个承诺,又该如何解决呢?

编辑: 经过一番思考之后,我认为我正在寻找的是一些类似于 藏起来的功能,用于修复/修正提交不合适的提交消息。

27346 次浏览

为什么要重置,如果你可以黑客,修复,黑客,然后只是运行 git commit --amend --no-edit; 因此,保留您的原始提交消息。

要使其适用于多次提交,只需创建一个包含最新更改的临时提交,然后使用交互式 rebase 用新的临时提交压缩前一次提交(包含良好的提交消息) ,保留旧提交的提交消息。

您可以考虑使用 git commit --reset-author -c <commit>,通过编辑和当前时间重用提交消息。

在运行“ git commit”命令时,您必须检查以下选项,

重复使用,

--reuse-message=<commit>

要在重用时进行编辑,

--reedit-message=<commit>

为了改变作者,

--reset-author

git reset之后,这句俏皮话可以做到这一点:

git commit --reuse-message=HEAD@{1}

甚至更短:

git commit -C HEAD@{1}

您可以使用 @ user2718704提供的其他选项。