0


SourceTree如何看代码分支图谱?

SourceTree如何看代码分支图谱?

分支创建(单个)

在实际工作中,可能会基于master分支拉一个dev分支去开发一个新功能,等新功能测试完毕后,合并到master分支去做上线部署。具体图谱如下:

初始化分支如下图,一个master分支,一个dev分支,dev分支拉取于master分支,进行两次提交后,合并到master分支,下面基于此图进行分支创建的图谱演示
在这里插入图片描述

基于上图master分支最新提交新建一个dev功能01分支,开发新功能01,此时dev功能01只是存在本地仓库,并未推送到远程仓库,新分支建立后图谱如下:

origin/master表示远程分支,master表示本地分支

在这里插入图片描述

下面基于新建的dev功能01分支进行两次提交,图谱如下:

在这里插入图片描述

如上图所示,dev功能01分支进行两次提交后,图谱和master是一条线。跟预期不太一样吧,还以为拉个新分支,会从master分支分个叉出来,没想到是重合的线。

如果在这样的图谱下,如何找到dev功能01是从master哪次提交节点拉出来的分支呢?暂时没有思路,先按下不解,继续往下走。

合并分支

基于上一节,dev功能01分支已经有两次提交,现在我们把dev功能01分支合并到master,看下图谱会咋变化?

在这里插入图片描述

master分支仅仅是追平了dev功能01分支,图谱依然是在一条线上,而且描述竟然没有显示Merge信息。现在更加辨别不出dev功能01 分支是从master哪个提交节点拉出来的。

分支创建(多个)

基于上一节,dev功能01已经合并到master,意思是该分支功能已开发测试完成,并已成功上线,职责已经完成,该分支可以废弃不用。

下面我们基于master分支最新提交记录同时拉取两个开发分支开发dev功能02,dev功能03,看下图谱会发生啥变化?

在这里插入图片描述

从上图可以看出,拉两个分支和拉一个分支效果是一样的,拉出的分支线和master均是重合的,在一条线上

下面我们在dev功能01 和 dev功能02 两个分支分别完成功能开发并提交,看下效果是啥?

在这里插入图片描述

可以看出,随着dev功能03的提交,分支dev功能02单独分出了一条线,最后次提交的dev功能03依然和master分支在一条线上。

基于master分支最新提交,再新建一个分支dev功能04,开发功能04,这也比较符合项目团队,多个功能并行开发的实际场景。图谱如下:

在这里插入图片描述

可以看出dev功能04分支起点依然是和master主线重合。
下面基于dev功能04分支开发功能并提交一次,图谱如下:

在这里插入图片描述

可以看出,dev功能04分支和master主线重合,其他分支都分叉了。得出结论从同一提交节点拉的分支,最后一个会与master主线重合,其他会分叉。

合并后提交修补,再合并

现在有个场景,分支功能开发测试完成,合并到master分支了,但发现少了某个小项功能,需要修补进去?那这个时候是继续在原有分支完善,再合并,还是基于master最新重新拉一个分支继续修补,再合并?

先试下第一个方案: 在原有分支完善,再合并
在dev功能01分支进行试验。
在这里插入图片描述

可以看出,dev功能01又将dev功能04挤出了主线master。
我们来继续合并dev功能03分支的功能,如下图:

在这里插入图片描述

可以看出,master主线分支跑到了dev功能03分支上,并和dev功能03 分支合为一条线。
预期是会像dev分支合并master一样,分叉合到蓝色主线上master。
感觉越来越没规律了。
继续将dev功能02合到master分支,如下图:
在这里插入图片描述

由于dev功能03分支代码已先合到master,再合时间线比它晚的dev功能02分支,由于修改的是相同文件,所以出现了代码冲突。但图谱已经比较清晰了。
最左边竖线已变为绿色,且是master分支和dev功能03分支的图谱线。
下面解决冲突,以最新修改时间线dev功能03的提交为准。提交后图谱如下:
在这里插入图片描述

心态有点崩了,咋主线分支又变成蓝色了。这个规律到底是啥?

目前唯一能得到的规律是:
1 每个分支图谱颜色不是固定的;
2 分支图谱颜色是可以一样的;
3 基于master分支拉取新分支,不会分叉,有提交记录后才会分叉,且最后一次提交分支会和master分支图谱线重合。

该篇文章就先试验到这里,有总结出规律的同学欢迎前来补充,一起学习进步!

标签: git github

本文转载自: https://blog.csdn.net/hubuwch/article/details/130640983
版权归原作者 花菜回锅肉 所有, 如有侵权,请联系我们删除。

“SourceTree如何看代码分支图谱?”的评论:

还没有评论