请帮助我理解为什么git日志显示合并到develop分支的额外紫色线。
我们使用gitflow,因此蓝线代表直接开发的提交。黄色线是我们在发布中合并的主分支。其他行是发行版或修补程序。
在这种情况下,亮绿线是从主分支创建的修补程序。在修补程序分支上有一个提交然后它“完成”(即合并到开发和主服务器)。在master中合并的提交对我来说很有意义,因为我看到亮绿线合并到黄色(主)行。对我来说没有意义的是粉色线的引入,它显示了将hotfix分支合并到develop分支中。我希望亮绿线终止于蓝线。该图表使得看起来开发在“投掷异常”提交时分支,而不是。
git log看起来很相似(那里有一条很难看到的深蓝色线条。)
我有一个理论,但我希望这一点得到证实。当我在本地提交“添加Raygun集成”的更改时,有一个未完成的更改,我没有从源(从热修复集成)获取和合并。我认为粉红色线显示出分歧,因为“添加Raygun集成”提交是在我合并热修复提交之前。当我将原点合并到我的本地并推动时,开发分支被重新整合。如果是这种情况,如果我先从原点提取未完成的提交,然后提交我的更改,那么“合并分支'修补程序/ 2.5.1'提交是否会显示合并到蓝线?
答案 0 :(得分:1)
你的理论是正确的。除了在git中说“分支”这个词含糊不清之外没有其他的东西可以添加:有分支名称,如develop
,master
和{{1}然后通过绘制提交图获得分支和合并行。分支名称只是将特定提交标识为“该分支的提示提交”,但该提交也可以在任何数量的其他分支上。合并只是添加一个新的提交,它将行绘制回至少两个现有提交。
这些自动图形抽屉喜欢为二级合并线分配新颜色。也就是说,他们选择合并的一侧(“第一父”侧)作为“主”线,并保持该颜色前往提交,但为另一侧使用不同的颜色。由于那里有一个额外的合并,你会得到一个额外的颜色。