早安全,
我有一个我开发的应用程序。我有特定的客户想要这个应用程序的自定义版本。我试图找到一种方法来分叉核心应用程序并进行自定义,但仍然能够应用我为核心应用程序制作的补丁。
例如:
核心应用有3 x 3网格按钮。每个按钮都可以在设置中自定义(颜色,文字等)。
客户Joe希望此网格为2 x 2.这会影响XML布局以及处理这些按钮的大量代码。
如何为Joe制作新版本,但在更新核心应用时允许更新?
此外,如果我更改核心应用程序中的按钮处理,我可能不希望这些更改应用于下游。有没有办法标记它们?
非常感谢任何帮助。我真的不想尝试管理两组未链接的代码。
谢谢你, 约什
答案 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
手动解决它。