使用git开发两个几乎相同的项目

时间:2015-05-19 03:08:17

标签: git

我在产品A的基础上开发了新产品B.B的大多数源代码与A类似。

我应该如何在开发过程中使用git?

我应该在git上创建一个新分支,还是只插入一个MACRO,如下所示?

ifdef B
do something
endif

1 个答案:

答案 0 :(得分:1)

  

因此两种产品的差异只是一些不变的参数。

既不是分支,也不是宏。

最可靠的决定是将所有常见代码与项目相关联,然后引入子模块。

步骤1.提取所有常量参数,例如在XML或属性(key = value)文件中。它们应该在不同的类和不同的文件夹中。

步骤2.在项目A中,使用git-subtree命令将所有 common 代码作为子模块提取。将该子模块推送到自己的遥控器。

步骤3.在IDE中为B启动一个新项目。启动一个新的repo并从远程克隆一个子模块。

步骤4.现在,您将项目A和B放在单独的文件夹和repos中。它们共享一个带有公共代码的子模块。当您更改一个项目中的代码时,请使用git将其更新为另一个项目。选择其中一个项目作为您的开发项目"并在其中进行所有开发,仅使用发布版本进行更新。