先引用git rebase --help中关于git rebase用法的介绍:
git-rebase - Forward-port local commits to the updated upstream head. (说白了就是把当前分支上的提交与最新分支上的提交合并)
一般在修改code后,需要向远端分支提交,可能会出现多个问题同时提交,但是merged有先后顺序,导致一些提交由于代码冲突无法merged,此时就需要使用git rebase.
举例说明:
本地有两个分支master和dev2,master上code更新到服务器上最新,dev2分支上已经有了提交到服务器的code,此时要merged dev2分支上的提交时发现有冲突。
1.在dev2分支上执行git rebase master. 此时在code中会显示冲突部分,"<<<"标注了,需要解决冲突,此时会自动切换到一个新分支用来修改冲突。
2.解决完冲突后执行git add xxx(解决冲突的文件), 然后git rebase --continue,完成rebase过程。
3.执行git push xxx xxx.把修改后的提交push到服务器端。
PS:git rebase 命令其实已经执行了git commit --amend 命令,无需再次执行,只需在git add后执行git push就好