让我作为前言,我是Git的新手。我在VSTS中创建了一个POC,在Git仓库中有一些代码,包含2个分支,dev和master。我对两者都有分支政策;当强制执行没有快进时,dev强制执行壁球合并。我为我的代码更改创建了主题分支,然后使用pull请求将它们转换为dev,另一个转到master。我理解为什么我的分支显示由于壁球合并而提交的提交有所不同,如here所述。
我不明白的是,这是正常的吗?您是否在冲刺结束时进行任何清理过程?如果数字似乎随意增长,那么分支之间的差异指标似乎毫无意义。我试图转发和反向集成,但他们只是在提交方面不断变得彼此不同步。从代码的角度来看,它们是相同的。
答案 0 :(得分:4)
不,没有必要解决dev
分支后方/前方master
分支。由于您正在使用Pull Request(执行git merge --no-ff
),因此您无法解决它。
dev
分支显示X
master
落后git merge --no-ff
的原因是由于没有快进合并(master
) 。由于没有快进合并,源分支和目标分支不会指向同一个提交,即使这两个分支具有相同的文件版本。
您也可以针对类似情况推荐帖子Git hot-fix to master ends up 2 ahead and 2 behind。
BTW:
我为代码更改创建主题分支,然后使用pull请求 让那些人进入开发,而另一个人去掌握。
你的意思是第二个拉取请求是将主题分支合并到dev
分支吗?
实际上,您最好创建拉取请求以将master
分支合并到dev
分支,而不是将主题分支合并到主分支中。此工作流程将明确保留master
和{{1}}分支上的提交历史记录。