Skip to content

重新修改未提交到远程分支不是最后一次commit的内容

1. 使用rebase进入交互式重写模式

shell
git rebase -i HEAD~2
  • HEAD~2表示最后2次提示
  • 打开一个编辑窗口,显示最近的两个提交(按时间顺序从上到下)

2. 选择编辑模式

在编辑容器,会看到类似的以下内容

shell
pick abc123 倒数第二次提交信息
pick def456 最后一次提交信息

将倒数第二次提交的pick修改为edit

shell
edit abc123 倒数第二次提交信息
pick def456 最后一次提交信息

然后保存退出 wq

3. 进入到修改提交状态

Git会暂停重写历史并让你进入倒数第二次提交的状态。在此时,可以对该提交的内容进行更改。

    1. 修改代码文件
    1. 添加修改到暂存区
    1. 使用git commit --amend修改倒数第二次提交。这时进入提交信息编辑界面,允许修改提交内容和提交信息。

继续完成rebase

完成后,继续

shell
git rebase --continue

有冲突会提示,继续git rebase --continue直到完成。

注意

如果已提交到远程,再次推送时,要强制推送。