Git – 快进合并(fast-forward merge)

如果2个分支没有分叉,只是一条线上的前后关系,对于落后的分支,可以使用快进合并(fast-forward merge)把领先的分支合并进来。

例如,现在我们有2个分支:masterdevdev基于master创建,dev分支中有新增的提交,master分支没有新增提交,2个分支没有分叉,这种情况就可以对落后的master分支,进行快进合并(fast-forward merge),把dev分支合并进来。

如下面的2个图所示,快进合并(fast-forward merge)就是把master分支指针简单地快进到dev分支指针的位置。

第一个图显示了合并之前的状态,master分支指针仍然处于原来的位置(提交),而在dev分支上,新增了一个提交,master分支和dev分支没有分叉。

图

第二个图表显示了合并后发生的变化。

图

当前分支切换到master,执行git merge dev,把dev分支合并到master

Kevin@qikegu MINGW64 /g/project/git-demo (master)
$ git merge dev
Updating 0d22e8a..de35112
Fast-forward
 test1.txt | 1 +
 1 file changed, 1 insertion(+)

使用git log查询提交记录,可以看到commit de35112...已经合并进去了。

Kevin@qikegu MINGW64 /g/project/git-demo (master)
$ git log
commit de35112d50b2f59b640d2b395d1315f0195cf7ec (HEAD -> master, dev)
Author: kevinhwu <kevinhwu@qikegu.com>
Date:   Mon Aug 19 20:48:34 2019 +0800

    add 'abcde' to test1.txt

commit 0d22e8a603dec5d9c90d142dd301ac08c8df4a10 (origin/master, origin/HEAD)
Author: kevinhwu <kevinhwu@qikegu.com>
Date:   Mon Aug 19 18:27:46 2019 +0800

    add text to test1.txt

commit 492204d0e04e99d0c02c9f685a0046688d68e012
Author: kevinhwu <kevinhwu@qikegu.com>
Date:   Mon Aug 19 18:25:41 2019 +0800

    update

commit 9441f90a3c004b759c8257d8cb8fba5f139ae05c
Author: kevinhwu <kevinhwu@qikegu.com>
Date:   Mon Aug 19 12:57:09 2019 +0800

    add text1.txt

commit e1b9b710a4f4ca900d4fe37b9590f63479fd480d
Author: kevinhwu <kevinhwu@qikegu.com>
Date:   Sun Aug 18 11:55:33 2019 +0800

    Initial commit



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载