java - 应用程序品牌 reshape - 何时应采用分支策略?

标签 java git branch branching-and-merging branding

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

类似这个问题here ,但是如果单个软件版本的不同品牌 reshape 之间不仅仅存在 UI 差异,该怎么办?例如,如果整个功能或子系统不应编译到其中一个品牌 reshape 中(例如,它包含属于一家公司知识产权且不应向其他公司提供的代码)怎么办?

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

或者是否有另一种不涉及分支的方法来解决这个问题?

最佳答案

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

除非 merge ,否则分支将转移。因此,在所有版本中都提供错误修复 分支将需要大量的挑选或至少非常仔细的提交/merge 处理。

将客户特定的代码放入应用程序加载的库中怎么样?

优点:

  • 只有客户特定的代码才会被重复。
  • 通用代码不会无缘无故地 fork 。
  • 通用代码是针对通用接口(interface)编写的。
  • 客户特定的应用部件仅运送给相应的客户。

缺点:

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

关于java - 应用程序品牌 reshape - 何时应采用分支策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11650596/

相关文章:

java - setTitle() 和 Thread.sleep()

java - 按 CTRL + 鼠标滚轮将缩放

git - Cygwin git config --global --edit 在错误的目录中查找

git - 为什么我不能用 git push origin :branchname? 删除远程 git 分支

java - 尝试运行sql语句时当前光标位置的操作无效

java - 如何调用位于不同WAR文件中的jsp

git - git config 中的 Shell 变量扩展

branch - 如何整合两个未提交的Perforce分支?

git - 如何使现有的 git 分支跟踪远程 SVN 分支?

version-control - 在初始无基础合并后,我可以使用团队资源管理器合并两个分支之间的更改吗?