【问题标题】:Maintaining Project with Git使用 Git 维护项目
【发布时间】:2011-02-04 23:23:05
【问题描述】:

我有 2 个项目,实际上这 2 个项目大约 80% 相同,主要区别在于语言和商业模式,一个是针对使用英语的更多受众,并且有 9 美元/月的商业模式,另一个是使用本地语言和免费增值业务模式。

有时当我想添加新特性/功能时,我想在两个项目中都添加它,但有时我想添加特性,尤其是针对本地项目。

我的问题是,我如何用 git 维护这两个项目?

  1. 为每个项目维护 2 个 git 存储库或
  2. 用 2 个主要分支维护单个 git 存储库或
  3. 还有其他建议吗?

【问题讨论】:

    标签: git version-control


    【解决方案1】:

    创建三个 git项目:

    • 一个“核心”项目:它包含 其他两个共享的代码 项目

    • 你的英文项目:它有一个 核心加上特定的子模块 代码

    • 您的翻译项目:它也 有一个核心加子模块 具体代码

    这样你可以改变你的核心项目,更新子模块引用,你会很好

    【讨论】:

    • 子模块是解决这个问题的方法。每个人都需要清楚正在发生的事情,但一旦发生,这是最少的工作。
    【解决方案2】:

    您是否可以通过配置和本地化来处理这个问题?那就是:

    • 一个代码库
    • 两个包含英语和本地语言字符串的本地化文件
    • 网站每个版本的配置确定支付模式/启用的功能并相应地改变行为

    我个人的观点是一个项目=一个存储库。如果您的网站显然非常不同,那么我仍然认为可以通过将通用代码重构为可以以理智、受控的方式配置和修改的模块来更好地处理您的问题。如果您允许每个项目拥有自己的 git 存储库,那么无需努力,它们很容易出现分歧并包含无法轻松跟踪的差异,从而引入细微的错误或未经测试的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      • 2021-12-02
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多