如果你不想看详细的描述,直接看步骤即可:
1.git rebase -i HEAD~n
,将要修改的提交状态改为 edit
2.修改文件
3.git add
4.git commit --amend
5.git rebase --continue
假设我们目录下有三个文件,分别是 digit.dat
、letter.dat
和symbol.dat
,digit.dat
中存放着数字,letter.dat
中存放着字母,symbol.dat
中存放着符号。
我们先提交 digit.dat,然后提交 letter.dat,最后提交 symbol.dat:
此时我们想起来,letter.dat
中仅仅存放了小写字母,大写字母被遗忘了,我们要把大写字母补充进去。这时候有两种解决方法:
-
修改 letter.dat 内容,并发起一次新提交
-
不发起新提交,对之前的那次提交做修改
我们不讨论发起新提交的情况,仅仅讨论如何对那次提交做修改。你也许会说,这很简单啊,直接使用命令 reset HEAD^
或者 reset 8cc5dc
不就好了吗?
不错,这没有问题,但是这样的话我们对symbol.dat
的那