应用品牌重塑 - 何时应采用分支策略?

时间:2012-07-25 13:17:11

标签: java git branch branching-and-merging branding

注意: 如果重要,我们正在使用 git ,(因此分支和合并是轻而易举的事),这是一个Android应用程序(< strong> Java - 所以条件编译不太适用。)

与此问题here类似,但如果您的软件的单个版本的不同品牌之间的UI差异不仅仅是这样,那该怎么办?例如,如果不应将整个特征或子系统编译成其中一个品牌(例如,它包含的代码是一个公司的知识产权而不应该被其他公司使用),该怎么办?

在这种情况下,是否应为每个品牌重塑创建单独的分支?如果是这样,主/主分支是否有用,因为它只会成为代码存储而不能编译成任何有用的应用程序(奇怪)?但是没有主/主分支意味着不得不挑选(单独选择)提交以在品牌之间进行合并,这似乎是一种糟糕的方法。

还是有另一种解决方法,不涉及分支?

2 个答案:

答案 0 :(得分:2)

根据您提问中提供的信息,我建议不要使用分支机构。

除非合并,否则分支机构将转移。因此,使错误修复程序全部可用 分支机构需要大量的挑选或至少非常小心的提交/合并处理。

如何将客户特定代码放入应用程序加载的库中?

临:

  • 只有客户特定的代码才会重复。
  • 通用代码不会无缘无故地分叉。
  • 通用代码针对通用接口进行编码。
  • 客户特定的应用程序部件仅发送给相应的客户。

缺点:

  • 需要对通用接口进行精心设计和生命周期管理。
  • 查找和加载客户特定库的附加代码。 (在Java或Android的构建过程中并不太难)

答案 1 :(得分:1)

对于真正敏感的信息/代码问题,分支机构不会削减它:
你需要:

  • 将敏感代码库分离为自己的git repo
  • 将其引用为某些项目的 submodule
  • 不要在其他不应该看到该代码的项目中引用它

我们的想法是确保没有敏感信息会被错误地从一个回购推送到另一个回购。