Git--rebase和merge
参考
https://www.cnblogs.com/pinefantasy/articles/6287147.html
https://www.jianshu.com/p/5c9c6383aa36
项目中总用到rebase,一脸懵逼.只知道merge,不用说就能理解.
搜索了rebase的意思
啥意思?二脸懵逼..
归根接地,这俩货(merge和rebase)都是用来合并代码的.
下面你听我说..
首先,构造一下背景..
简单起见,就把所有冲突模拟在一个文件中.
1 public enum Rank { 2 ONE; 3 }
下面所有的操作将会在这个类里面进行.
上面的就已经是一个提交了,在master分支上的提交.MASTER
创建并切换到dev分支,在上面新增成员D_TWO.DEV
1 public enum Rank { 2 3 ONE, D_TWO; 4 5 }
切换回master分支,增加新成员M_THREE.MASTER
上面的修改提交.
继续在master上新增一个提交,提交内容是在Rank里新增一个成员M_FOUR.MASTER
最终结果如下.
1 public enum Rank { 2 3 ONE, M_THREE, M_FOUR; 4 5 }
切换回dev分支,在上面新增成员D_FIVE.DEV
1 public enum Rank { 2 3 ONE, D_TWO, D_FIVE; 4 5 }
ojbk,背景至此构造好了!
merge
merge很容易理解,就是合并嘛.把其他分支改动的东西合并到当前分支上面.
解决完冲突,来看下提交记录.挫.
rebase
我们在dev分支上进行rebase
以master为主线,将dev分支的新提交一次一次的加到master提交的后面(这一切都是在dev的分支上进行,并不影响master分支)
处理完冲突,继续rebase
提示在处理dev第二个提交的过程中发生了问题
这里继续处理冲突
解决完之后来看下提交记录
最后回到master上,将dev分支merge到master上,就是一次快进合并
比较