用Git维护项目

时间:2010-04-06 19:37:49

标签: git version-control

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

有时当我想添加新功能时,我想在两个项目中添加它,但有时我想添加功能,特别是只为本地项目。

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

  1. 为每个项目维护2个git存储库或
  2. 维护单个git存储库,其中2个主要是branch或
  3. 还有其他建议吗?

2 个答案:

答案 0 :(得分:8)

创建三个 git项目:

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

  • 你的英语项目:它有一个 核心的子模块加上具体的 代码

  • 你的翻译项目:它也是 有一个核心加的子模块 具体代码
通过这种方式,您可以更改核心项目,更新子模块引用,并且您会很好

答案 1 :(得分:2)

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

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

我个人认为,一个项目=一个存储库。如果您的网站明显不同,那么我仍然认为通过将公共代码重构为可以以合理,可控的方式配置和修改的模块,可以更好地处理您的问题。如果你允许每个项目都拥有自己的git存储库,那么在没有努力工作的情况下,它们很容易发生分歧并包含无法轻易跟踪的差异,引入细微的错误或未经测试的功能。