【问题标题】:VSTS Git: Is it necesary to resolve dev branch behind/ahead master and if so how?VSTS Git:是否需要在 master 后面/前面解析 dev 分支,如果是的话,如何解决?
【发布时间】:2018-04-17 14:19:02
【问题描述】:

让我先介绍一下我是 Git 新手。我在 VSTS 中创建了一个 POC,并在 Git 存储库中创建了一些代码,其中包含 2 个分支 dev 和 master。我对两者都有分支政策; dev 强制执行 squash 合并,而 master 不强制执行快进。我为我的代码更改创建主题分支,然后使用拉取请求将其导入开发,并使用另一个来掌握。我理解为什么我的分支由于 squash 合并而在提交中显示出差异,正如 here 所解释的那样。

我不明白的是,这正常吗?您是否在 sprint 结束时进行任何类型的清理过程?如果数字似乎是任意增长,那么对分支之间的差异进行指标似乎毫无意义。我尝试过正向和反向集成,但它们在提交方面彼此越来越不同步。从代码的角度来看,它们是相同的。

【问题讨论】:

  • “有必要吗?”不,您可以拥有两个几乎独立的分支,而不会出现任何问题。分支之间差异的重要度量由git diff 给出。如果这没有报告差异,或者仅报告自上次合并到 master 以来的差异,那么您就可以了。

标签: git azure-devops


【解决方案1】:

不,没有必要在 dev 分支后面/前面解析 master 分支。而且您无法解决它,因为您使用的是拉取请求(执行git merge --no-ff)。

dev 分支显示X 落后/领先master 的原因是没有快进合并(git merge --no-ff)。如果没有快进合并,即使两个分支具有相同的文件版本,源分支和目标分支也不会指向同一个提交。

类似情况也可以参考帖子Git hot-fix to master ends up 2 ahead and 2 behind。

顺便说一句:

我为我的代码更改创建主题分支,然后使用拉取请求 让那些进入开发,另一个去掌握。

您的意思是第二个拉取请求是将主题分支合并到master 分支吗? 实际上,您最好创建拉取请求以将 dev 分支合并到 master 分支,而不是将主题分支合并到主分支。此工作流程将清楚地保留 dev 和 master 分支上的提交历史记录。

【讨论】:

  • 感谢玛丽娜的回复。通常我们不会将主题分支合并到 master 中,它们会通过 pull request 合并到 dev 中,然后 dev 会通过第二个 pull request 合并到 master 中。主题分支直接合并到主分支的唯一场景是修补程序。
  • 是的,有道理:)
猜你喜欢
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 2018-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2014-11-24
相关资源
最近更新 更多