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上,就是一次快进合并

 

比较

 

posted @ 2019-01-17 10:53  MicroCat  阅读(176)  评论(0编辑  收藏  举报