我正在开发一个bitbucket上的应用程序,后来分发给了特殊模块。这款新叉子包含高级功能。现在这个叉子后来再次分叉到某个国家。这是我的图表。
-- Core Application
-- Premium Features
-- Premium Features for a certain country
这就是我想要的:让我们说我正在研究“高级功能”。提交后,我对“核心应用程序”进行了新的更改。我希望这一新变化能够一直反映到“特定国家的高级功能”。
同样,如果对“高级功能”进行了新的更改,那么它只应添加到“特定国家/地区的高级功能”而不是“核心应用程序”
以下是我尝试的内容:内置高级功能时
git remote add upstream https://github.com/user/core-application.git
git fetch upstream
git checkout master
git rebase upstream/master
我的理解是,这会将所有代码从核心应用程序转移到高级功能中,然后rebase会将新的更改重做为“高级功能”。
答案 0 :(得分:1)
您可以在“特定国家/地区的高级功能”回购中使用多个遥控器,并从其他遥控器中取出:
git remote add core-upstream https://github.com/user/core-application.git
git remote add premium-features-upstream https://github.com/user/core-application.git
git pull core-upstream master
git pull premium-features-upstream master
答案 1 :(得分:0)
感谢@vampire,我终于明白了。所以现在这是我的新工作流程。
如果对核心进行了更改,我会将更改一直提取并合并到某个国家/地区的"高级功能"。如果我改变了"高级功能"然后我只需要获取并将其合并到某个国家"的高级功能中。
我不确定如果我不立即合并核心更改并继续执行"高级更改"但从理论上讲,如果文件中没有冲突,即使在一些提交后它也应该合并。