如果执行了一系列提交后, 想修改其中不是最近的某几次提交,可以执行
git rebase -i
然后在要修改的那几次提交前面改为edit
保存推出后,git会按顺序逐一提示要修改的提交,
这时就可以按顺序修改这些提交,修改完后分别执行git add 和git commit --amend ,git rebase --continue即可
这时,有可能其他提交会发生冲突, 请修改冲突部分后再执行add和rebase --continue。这时不需要提交。如果在中途要停止rebase操作,请在rebase指定--abort选项执行,这样就可以抹去并停止在rebase的操作。
实际上,在rebase之前的提交会以ORIG_HEAD之名存留。如果rebase之后无法复原到原先的状态,可以用git reset --hard ORIG_HEAD复原到rebase之前的状态。