我有一个针对多平台的项目.我必须更改不同平台的UI代码,同时保持核心类相同.为了达到这个目的,我想为不同的平台制作git分支.
鉴于上述情况我的要求是,如果我在核心类中进行更改,它应该反映在所有git分支中.
怎么做到这一点?
或者是否有任何其他工作流程来实现相同的目标?
git rebase您可以通过git rebase而不是处理您的特定平台git merge.在这种情况下,您将能够更改核心分支,而不是更改其上的其他分支,从而保持对核心应用平台特定的修改.
建立平台分支
git checkout master
git checkout -b platform1
git checkout master
git checkout -b platform2
Run Code Online (Sandbox Code Playgroud)
进行核心修改
git checkout master
# make modification
git commit
Run Code Online (Sandbox Code Playgroud)
进行平台修改
git checkout platform2
# make modification
git commit
Run Code Online (Sandbox Code Playgroud)
导入平台中的核心更改
git checkout platform1
git rebase master
git checkout platform2
git rebase master
Run Code Online (Sandbox Code Playgroud)
git merge也可以使用git merge与strategy如在上述选项的git合并手册.
git checkout platform2
git merge -s recursive -X ours master
Run Code Online (Sandbox Code Playgroud)
在发生冲突时,这将始终选择特定于平台的更改.