git rebase
git rebase在个人项目或者没有复杂线上分支管理流程的项目中应该算是使用比较频繁的一种操作,但这个操作也有一些入门难度,使用上也会出现很多让人迷惑的地方。常用的两个方式就是git rebase -i 和git rebase 分支名。
其中-i的方式是整理自己当前分支的提交记录的(压缩提交记录,修改提交记录备注信息等),这个自然不必多说。
但是git rebase 其他分支的操作其实和merge类似,但更难理解,也容易出现一些问题,或是让人感到一些迷惑:
我把git rebase 分支的操作分为两种情况:
1:没有和要rebase的分支出现分叉的情况(未分叉即一个分支相当于另一个分支提交记录的一部分)。
2:出现了分叉。
话不多说直接上图,首先是第一种情况:
首先,创建两个分支,分别是主分支master 和 rb,此时,两个分支的提交记录是完全相同的。
接着,在rb分支上修改文件并提交(为了方便阅读,所有提交的备注信息都用数字表示),则此时rb分支领先master分支1个提交
若我们在rb分支上rebase master分支则会提示Current branch