【问题标题】:How to maintain 'master' branch as a series of release commits如何将“主”分支维护为一系列发布提交
【发布时间】:2018-04-14 06:55:26
【问题描述】:

在许多不同的开源项目中,“master”分支仅包含表示项目发布的提交(例如:https://github.com/facebook/facebook-android-sdk/commits/master

我的问题是 - 有什么诀窍可以实现这一目标吗? 我假设开发是在另一个分支上执行的,但是应该如何将合并/同步回 master 使其成为每个版本的“干净”单个提交?

【问题讨论】:

  • 一次合并到 master = 一次合并提交 = 一次发布
  • 通常通过合并,我实际上可以看到合并到 master 的分支,以及提交的整个历史
  • @nbari 你的意思是?
  • @lysergic-acid 跟随 gitflow,就像你确实提到的开发是在另一个分支中,并且只有在许多情况下使用 semver 标记的版本才会合并到 master

标签: git github git-merge


【解决方案1】:

我不确定您指的其他项目是什么,但 facebook/facebook-android-sdk 并没有按照您的想法做。这些是名称看起来像 release 的常规提交。您可以通过比较 2 个标签来查看版本中的更改:

您可以在主历史记录中找到所有这些提交:

这里唯一的“技巧”是常规开发在dev branch 中完成,并且仅在发布时才合并到主控,因此主控总是包含最后一个稳定版本。

【讨论】:

    【解决方案2】:

    我认为您可以通过 squash 合并来实现这一点,它将分支中的所有提交合并到一个提交中,该提交将添加到主分支。

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2018-04-30
      相关资源
      最近更新 更多