如何修改刚刚完成的最后一次 commit 的提交信息?
修改最后一次 commit 的提交信息非常简单,主要使用 git commit --amend 命令。
这里有两种常用的操作方式,取决于你想如何修改:
方法一:直接在命令行修改(适用于简短的修改)
如果你只需要把提交信息改成一句简短的话,可以直接使用 -m 参数:
bash
git commit --amend -m "这里写你全新的提交信息"
执行后,最后一次 commit 的信息就会被直接替换为这句新内容。
方法二:进入编辑器修改(适用于较长的修改或保留部分原信息)
如果你想在原有的提交信息基础上进行修改,或者需要写多行信息,直接输入:
bash
git commit --amend
执行后,Git 会打开你默认的文本编辑器(通常是 Vim 或 Nano),里面会显示你上一次的提交信息。
- 如果你进入的是 Vim 编辑器:
- 按一下键盘上的
i键进入编辑模式。 - 修改顶部的提交信息。
- 修改完成后,按
Esc键退出编辑模式。 - 输入
:wq然后按回车键(保存并退出)。
- 按一下键盘上的
⚠️ 重要警告:如果你已经 push 到了远程仓库
git commit --amend 会改变 commit 的 Hash 值(相当于生成了一个全新的 commit 替换掉了旧的)。
- 如果你的 commit 还在本地(没有 push 过):随便改,没有任何副作用。
- 如果你的 commit 已经 push 到了远程仓库(比如 GitHub/GitLab):
常规的git push会报错并被拒绝。你需要使用强制推送来覆盖远程仓库的历史记录:*注意:如果你是在团队协作的公共分支(如bashgit push --force # 或者更安全的命令: git push --force-with-leasemain或master)上,且其他人可能已经拉取了你的旧 commit,极其不建议使用强制推送,这会导致其他人的本地代码库出现冲突。*