Git 具有多产品风味和维度的项目

Git Project with Multi-Product Flavor and Dimension

任何人都可以指导我如何正确地将 git 应用于具有多个产品风格和维度的 Android 项目。

我可以简单地向整个项目添加一个 Git,但这是正确的方法吗?

编辑:

假设我正在构建商店应用程序。

我会有以下配置

风味维度 "client"、"network" 产品口味{ 客户1 { 维度 "client" ... }

client2 {
  dimension "client"
  ...
}

prod {
  dimension "network"
  ...
}

debug {
  dimension "network"
  ...
}

}

结果产品口味将共享相同的 "Code Base"(因为它们都是商店应用程序)但它们还需要有单独的 Iteration/Version releases/features.

我考虑这样做的一种方法(也是我知道的唯一方法)是简单地将 Git 添加到整个项目。为产品口味创建一个分支并从那里继续。唯一的问题是,当我对 "Base Code" 进行一些更改时,我将不得不将其级联到某些(如果不是全部)分支。

我的问题是这样做是否正确。

提前致谢。

您可以使用以下任何选项:

选项1:在同一分支管理所有项目,并为不同的项目版本打标签

假设你在同一个分支管理2个项目,你可以使用标签辅助分别管理不同的项目版本:project1的版本格式A*.*.*(如A1.0.0)和版本格式B*.*.*(例如 B1.0.0)对于项目 2.

为 HEAD 添加标签:

git tag -a <version> -m 'message'

为历史提交添加标签:

git tag -a <version> -m 'message' <commit>

选项2:在不同的分支管理不同的项目

您可以在不同的分支中管理每个项目,以便您可以分别管理和跟踪不同项目的版本。

如果 "code base" 在一个分支中发生更改,您可以将更改应用到其他分支。

要将文件从一个分支(例如branchA)应用到另一个分支(例如branchB),您可以使用以下命令:

git checkout branchB
git checkout branchA -- filename
git commit -m 'apply the changes of the filename from branchA into branchB'