Git:'git reset'后如何重用/保留提交消息?

作为Git的用户,我经常遇到这种情况,我需要重新修改一个或多个提交,这种提交方式不适合--amend或修改提交。 通常我会做类似的事情

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

我认为合理的提交信息非常严重。 它们通常包含更大的文字,并带有参考和理由的变化。 到现在为止,我对通过未分类的git refloggit log和复制和粘贴过程恢复旧的提交消息的冗长过程感到非常恼火。

有没有更好的解决这个问题? 如果我包含多个提交,那又怎么样呢?

编辑:有一点思考后,我想我正在寻找的是一些git提供消息修复/修改提交不适当的提交消息。

git reset ,这一行可以做到这一点:

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

甚至更短:

 git commit -C HEAD@{1} 

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

当运行“git commit”命令时,你必须检查下列选项,

要重用,

 --reuse-message=<commit> 

要重用时进行编辑,

 --reedit-message=<commit> 

要改变作者,

 --reset-author 

为什么重置,如果你可以破解,修复,破解,然后运行git commit --amend --no-edit ; 从而保留你原来的提交信息。

要使它适用于多个提交,只需使用最新的更改创build一个临时提交,然后使用交互式重新绑定来压缩之前的提交(包含良好的提交消息)和新的临时提交,保留旧提交的提交消息。

你可以考虑git commit --reset-author -c <commit> ,重复使用提交信息和当前时间。