在git中处理相同的代码库,不同的应用程序版本

时间:2014-01-06 09:37:28

标签: android git code-reuse codebase

我开发了一个通用应用程序,因为我需要创建一些非常相似的应用程序。我尝试区分差异,因此我有一个 settings.xml 。但这还不够,因为有时我需要更改版本中的代码,但我真的希望为每个应用程序提供相同的代码库。

我想达到我的主要目标,所以如果我开发相同的代码库,那么所有应用版本都会升级。 但是我很难处理差异

我需要你的建议,我应该如何处理 git 。 我应该为每个应用版本创建 brach吗?我应该如何处理不同的东西(应用程序名称,图标,包名称,settings.xml,可能是不同的代码部分),并且仍然可以开发相同的代码库并升级每个应用程序版本。

也许buildserver脚本可以处理某些文件替换,但它无法处理不同的代码版本。

是否有人有同样的问题?也许是一个有效的解决方案?

1 个答案:

答案 0 :(得分:0)

对于公共代码库,只有少量不同的文件,建议的方法是每个分支一个应用程序(比submodules简单得多)。

您可以在“Multiple Django sites with shared codebase and DB”上看到一个示例。

此方法的问题是阻止从app分支到master的任何合并(您应该只从master合并到app)。
一个pre-commit hook can help
app分支中的can protect your specific files with a .gitattributes