【问题标题】:Best way to run different versions of a project on GIT? [closed]在 GIT 上运行不同版本项目的最佳方法? [关闭]
【发布时间】:2022-02-06 23:43:58
【问题描述】:

我必须为新客户添加我的项目的附加版本。

目标是:

  1. 项目的一个主要版本,保留通用代码和 一组面向客户的版本,具有特定的附加功能 每个客户。
  2. 能够上传普通版本的更改。

最好的方法是将项目分解成独立的模块,但我时间有限,不能坚持那个选项 atm。我正在考虑 2 个选项

  1. 分叉
  2. 具有相同存储库的多个分支

有更好的方法吗?有什么缺点和优点? 谢谢。

【问题讨论】:

    标签: git architecture


    【解决方案1】:

    您可以使用如下的分支命名策略。

    <customer_name>/<branch_name>

    例如:customer1/get-products

    此命名策略中唯一需要注意的是,当您在 git 中将诸如 a/b/c 之类的路径命名为分支名称时,您以后不能拥有 a/ba,因此您不能将分支命名为 customer和另一个名为customer/dev 的分支,git 不允许这样做。

    但是您可以保留customer/devcustomer/uatcustomer/master 等分支,并拥有customer/feature1 等功能分支

    您的常用功能仍然可以在您的主要分支中,例如devuatmaster 等,您可以在需要时将这些分支合并到各个客户分支。

    【讨论】:

      【解决方案2】:

      如果您出于特定原因不必将客户的代码绝对保留在不同的存储库中,那么带有分支的解决方案是最简单的(尤其是交换代码、cherry-pick、同步等),而且少得多负担(不必创建很多存储库)。

      而且也更容易开始。如果您改变主意,您仍然可以创建不同的存储库。

      但是,如果你不知道,看看 'git worktree' 功能为每个客户创建一个工作树,这可以让你的生活更轻松......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-05
        • 1970-01-01
        • 2010-11-10
        • 2013-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多