【问题标题】:Handle a same codebase, different app versions in git在 git 中处理相同的代码库,不同的应用程序版本
【发布时间】:2014-01-06 09:37:28
【问题描述】:

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

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

我需要你的建议,我应该如何在 git 中处理这个问题。 我应该为每个应用版本创建一个分支吗?我应该如何处理不同的事情(应用名称、图标、包名称、settings.xml,可能是不同的代码部分),并且仍然能够开发相同的代码库并升级每个应用版本。

也许构建服务器脚本可以处理一些文件替换,但它不能处理不同的代码版本。

有人遇到同样的问题吗?也许是一个可行的解决方案?

【问题讨论】:

    标签: android git code-reuse codebase


    【解决方案1】:

    对于一个通用代码库,几乎没有不同的文件,推荐每个分支一个应用程序(比submodules 简单得多)。

    您可以在“Multiple Django sites with shared codebase and DB”查看示例。

    这种方法的问题是防止从app 分支到master 的任何合并(您应该只从master 合并到app)。
    一个pre-commit hook can help.
    而你 can protect your specific files with a .gitattributesapp 分支。

    【讨论】:

    • 感谢您的回答,听起来很棒。我会测试它并尝试它:)
    • @user2313423 对git submodules 有什么好的经验吗?或者你有没有找到其他更好的方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多