修改已提交的代码
- git rebase -i HEAD~3 // rebase HEAD之前的3次提交
- 然后按i进入编辑模式,将需要修改的commit前面的pick改为edit,然后wq保存退出。 //此时分支显示类似 master|REBASE-i 2/3
- 编辑需要修改的代码,然后git add 修改的文件。
- git commit --amend保存,如果不需要编辑commit信息可使用git commit --amend --no-edit
- 最后git rebase --continue完成rebase 进入下一个编辑或直接退出
- 中途不想继续编辑修改可用git rebase --abort 退出
撤销rebase修改的代码
- git reflog查看操作记录,找到要回退到的操作id
- 执行回退操作git reset --hard id //只想回退提交,保留编辑的代码可用git reset --soft --hard id