Git 分支合并Merge和Rebase说明

2019-06-12 0 By admin

在日常开发过程中,经常会遇到Git 分支的代码合并操作。Git服务提供了几种不同的操作方式。

一、测试初始环境

为比较不同的合并操作,其效果不同。我们在一个工程中创建了master和dev两个分支,每个分支上做了几个提交。

二、Git merge –no-ff

1、将dev分支merge到master分支
会在Master分支上产生一个Commit,记录这次Merge操作。

2、将master分支merge到dev分支
会在dev分支上产生一个Commit,记录这次Merge操作。

三、Git merge -ff

1、将dev分支merge到master分支
虽然使用-ff参数,但是检查不通过,还是创建了一个Commit。

2、将master分支Merge到dev分支
这次就看出来--no-ff--ff之间的不同了。

四、Git rebase

1、将dev分支rebase到master分支

2、将master分支rebase到dev分支

五、Git merge –no-ff错误示例

1、将dev分支Merge到master分支
注意此时dev分支所在的位置:是在master分支的Commit上。所以这是错误的。

2、将master分支Merge到dev分支
错误的演示效果,产生的解决就是这样子了。这里彻底把master分支和dev分支搞乱了。
1、dev分支所在的位置应该是master分支的提交信息。
2、master分支则是根据merge操作前的master分支创建的新分支。