我们有以下设置:三个相似的应用程序,将公共代码提取到框架中。每个应用程序都在自己的git存储库中进行管理,并将框架作为git子模块包含在内。
问题在于,应用程序现在与并行开发的新功能被添加到框架中,其他应用程序不需要立即支持。目前,我们为所有应用程序提供了不同的框架分支。一个应用程序使用框架的主分支,因为大多数时候新功能首次在此应用程序中引入。
框架分支
当在appB中引入需要更改框架的新功能时,会对分支appB进行这些更改。如果以后需要在App A中进行这些更改,则将分支appB合并为master。这意味着appB中的所有更改都必须合并为master。
这个系统有效,但有一些缺陷
我们目前正在寻找新的工作流程。我考虑过拥有以下分支机构
因此,对于每个应用程序,一个分支和一个包含所有更改的主分支。在开发新功能时,应创建功能分支,然后将其应用于主分支以及所有应用分支,立即需要该功能。其他应用程序可以在以后需要该功能时合并功能分支。
我看到了这个
的以下问题我的目的是实现这一目标的最佳方式还是我应该完全重新考虑我的策略?
答案 0 :(得分:0)
正如“Git & Working on multiple branches”中的解释,将提交应用于多个分支时的两个实际解决方案(这是您对“功能分支”选项的处理方式):
rebase --interactive
可能是为了让您重新订购提交,首先放置你想要合并的那些,然后你还没有准备合并。