在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:
~~~
$ git rebase --continue
~~~
这样git会继续应用(apply)余下的补丁。
在任何时候,你可以用`--abort`参数来终止rebase的行动,并且"mywork" 分支会回到rebase开始前的状态。
~~~
$ git rebase --abort
~~~
## 合并历史提交(提交到了本地仓库 还未推送都远端)
git rebase i head~3
![](https://img.kancloud.cn/e2/3e/e23ed1b58b2eea0bcb570896b579153c_771x295.png)
```
pick 应用相关提交
squash 是把多个提交合并成一个提交
reword 修改commit信息
edit 对提交进行编辑,然后使用git commit -amend进行提交
fixup 与squash差不多,不过会抛弃掉本次提交的log信息
exec 执行shell命令
drop 删除提交
```