【问题标题】:Master Branch for Multi-Version Project (Git Flow)多版本项目的主分支(Git Flow)
【发布时间】:2021-02-24 08:50:51
【问题描述】:

我们正在开发一个由多个客户使用的应用程序,每个客户都有不同版本的应用程序。

我们的团队目前正在遵循 Git Flow 分支策略,但我们在维护单个主分支方面遇到了困难。

例如:

  • 客户 A 拥有 v1.1.2
  • 客户 B 拥有 v1.1.4

我们在 v1.1.4 中修复了客户 B 的一个漏洞,并在 master 分支中将版本更新为 v1.1.5。 现在客户 B 要求在他们的版本中进行补丁修复,但目前还不想更新到 v1.1.4。 然后,此修复程序将版本化为 v1.1.2.1(仍在其发布分支上)。

我们目前正在维护多个发布分支并根据需要引入功能分支,但我们认为从长远来看这是不可扩展的。

对此是否有推荐的解决方案或分支策略?

【问题讨论】:

    标签: branch versioning git-flow


    【解决方案1】:

    也许您应该为每个 x.x.x 版本创建发布,同时修复您在 x.x.x.x 版本上的错误,您的客户可以使用此版本。 所以可以有很多 x.x.x 版本。你可以认为这个 x.x.x 版本有点大。

    【讨论】:

      【解决方案2】:

      您是否尝试过寻找从先前版本创建新分支的 oneflow 方法。

      试试看这个https://www.endoflineblog.com/gitflow-considered-harmful

      【讨论】:

        【解决方案3】:

        有两个主要更新 - 新功能和安全更新。可以根据版本号为每个客户维护新功能。但是,安全更新可以作为从 v1.x.x 开始提供的补丁提供。这将使漏洞修复和功能更新分离。您可以将补丁放在特定的分支中,然后有人可以将他们给定的分支与安全补丁分支上的最新分支合并。

        您可以在每次有新的安全补丁时发送电子邮件。

        【讨论】:

          【解决方案4】:

          我的建议是将您的软件组件移动到多个单独的存储库。

          然后,您可以将它们作为不同状态的子存储库包含在不同的分支/存储库中(您需要为每个客户创建一个分支或存储库)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-01-26
            • 2014-02-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-01
            相关资源
            最近更新 更多