Git 的 commit message 写错了,有办法进行修改么?

如题,有时候拼音输入法输错,导致提交了些少儿不宜的单词。
测试 mm 看了不好,请问怎么修改提交的消息呢?

阅读 107.2k
10 个回答

git commit --amend 可以对上一次的提交做修改

push -f 如果上一次的提交已经push了,那么需要加f参数覆盖服务端,不过不建议这么搞

如果已经通过git push提交了,看你们公司用的什么git服务器了,一般用户想修改的话需要相关的权限,找管理员了;如果已经有其他开发人员基于你的提交进行了修改并提交的话,那就更麻烦了,后面的所有提交都要重新做一遍;
如果还没有push到服务器,只是本地进行了commit,并且没有进行新的commit,只需要git commit --amend;如果进行了新的commit,只需要git reset --soft xxx (xxx有问题那次提交的commit id),然后在进行git commit就行,不过所有后面的提交都成为了一次提交;如果想保持每次提交独立的话,使用

git checkout -b tmp ^xxx
git cherry-pick xxx
git commit --amend
git cherry-pick <依次后面的提交id>

xxx还是有问题那次提交的commit id,单独建立tmp分支修改说明,然后将后面的提交一个一个的cherry-pick到新分支,然后删除掉旧的分支就可以了

git commit --amend

注意:
我测试了一下,在 gerrit 环境下,仅用 git commit --amend 修改 commit message 会提交不上去。
改动一下代码,如加一个空行,再 git add 和 git commit --amend 就可以提交上去了。

git commit --amend

虽然这个问题已经过去好久了不过还是想补充一个:
如果想修改以往 commit 的 author 的话,这里有一个脚本可以使用:链接~

git commit --amend或者也可以用git reset HARD 取消最后一次提交,然后再来过。
不过已经push的,就不知道有什么办法可以做到了。。。

git commit --amend
你们有代码审核系统吗?类似于Gerrit这样的?这种的在submit之前都可以多次提交的

新手上路,请多包涵

有个工具,叫 source tree,如图:
图片描述

链接描述

可以在GUI界面,修改commit,非常方便。

progit 有一章节叫重写历史,里面使用变基方式进行commit message的修改

推荐问题
宣传栏