将最后一次提交的提交消息更新到本地分支

Wat*_* v2 1 git

有没有办法可以更新我刚刚对本地分支所做的最后一次提交的提交消息?

原因是:当我推送时,远程有一个策略,要求每个提交消息都以某个咒语开头,否则它将拒绝提交。

这是一个相当大的承诺,需要花费数小时的工作和大量的更改。只是想知道我是否可以避免必须进行--hard reset并重做我的更改?

Joh*_*nck 8

您可以轻松更新以前的提交消息。说啊:

git commit --amend
Run Code Online (Sandbox Code Playgroud)

您首先要确保没有暂存任何更改,否则它们将被添加到提交中。为此,请检查是否git diff显示任何更改,或查阅git status。或者说git reset取消暂存您可能进行的任何更改。

如果您的编辑器在 Git 中正确配置,它将出现,以便您可以交互地编辑提交消息(旧消息将首先加载到编辑器中)。如果您没有设置编辑器,例如您在 *nix 机器上并且想要使用 Emacs:

VISUAL=emacs git commit --amend
Run Code Online (Sandbox Code Playgroud)

通常你会默认得到 vi。

如果您不确定要修改哪个提交,只需说:

git show
Run Code Online (Sandbox Code Playgroud)