管理同一个应用的多个自定义变体(GIT?)

时间:2014-03-16 11:51:57

标签: git

早安全,

我有一个我开发的应用程序。我有特定的客户想要这个应用程序的自定义版本。我试图找到一种方法来分叉核心应用程序并进行自定义,但仍然能够应用我为核心应用程序制作的补丁。

例如:

核心应用有3 x 3网格按钮。每个按钮都可以在设置中自定义(颜色,文字等)。

客户Joe希望此网格为2 x 2.这会影响XML布局以及处理这些按钮的大量代码。

如何为Joe制作新版本,但在更新核心应用时允许更新?

此外,如果我更改核心应用程序中的按钮处理,我可能不希望这些更改应用于下游。有没有办法标记它们?

非常感谢任何帮助。我真的不想尝试管理两组未链接的代码。

谢谢你, 约什

1 个答案:

答案 0 :(得分:1)

您可能想为joe使用单独的分支。

例如,您可以在分支master上进行主要开发,并在分支joe上拥有自定义版本。

现在,您可以通过将提交添加到master并通过合并joe的更改来更新分支master来开发您的应用。

工作流程将是这样的:

git checkout -b joe master  # create branch
# customize the code for joe
git commit                  # commit the customization
git checkout master
# add a new feature to your app
git commit -am 'new feature'
git checkout joe
git merge master 

大部分时间合并才有效。如果您确实更改了为joe定制的部分,则可能会出现合并冲突,并且必须使用git mergetool手动解决它。