一、修改最后一次提交
方式一:直接输入命令:git commit --amend
,会进入对最后一次提交信息编辑的vim编辑器界面(普通模式下,按i
进入编辑模式,编辑模式下按esc
退出到普通模式,普通模式下按:
进入命令模式,输入wq
即可保存修改并退出vim编辑器)。
方式二:如果提交信息简单也可以直接通过如下命令行完成:
git commit --amend -m 'new commit message'
二、修改前边某次提交
输入命令:git rebase -i HEAD~2
,进入commit的选择界面,其中2代表最后2次提交,看你需要修改的提交位置对应修改即可,需要注意的是该值必须要小于提交总数,否则会报错。
将需要改变的提交的pick改为edit,保存并退出(选中多个,则会将多个提交合并成一个),会看到如下提示
执行命令git commit --amend
进入vim编辑器,修改对应提交信息,过程和修改最后一次提交一样
修改成功后,执行git log
,查看整个提价记录是否是自己需要的
确认无误后,执行git rebase --continue
,会看到如下提示:
tip:
若是中途修改出错,或是不想继续修改,可以执行git rebase --abort
终止
到此修改提交记录过程就结束了。
三、提交已经推送到远程仓库
如果需要修改的提交信息已经被提交到远程仓库,那么在基于前面修改的基础上,还需要强制推送本地仓库到远程分支,也就是执行如下命令:
git push <repo name> <branch nama> -f
进行强制推送
注意:
此操作会使用本地仓库强制覆盖远程仓库,慎重