我有一个系统的5个分支-称它们为Master,London,Birmingham,Manchester和demo。这些仅在配置文件中有所不同,并且每个都有自己的图形文件集。
当我进行一些开发时,我会从master创建一个临时分支,在该功能之后调用该分支,然后进行工作。准备 merge 时,我会 checkout master和git merge功能来导入我的工作。看来工作正常。
现在,我需要将更改放入其他分支,而又不丢失它们之间已经存在的差异。我怎样才能做到这一点?对于伯明翰获得伦敦的图形,以及配置文件中的冲突,我一直没有遇到任何问题。
当分支最终正确时,我将其上推到一个软件仓库,然后将每个分支下 pull 到Linux盒中进行最终测试。从那里开始,正式版使用rsync(设置为忽略.git存储库本身)进入生产。这个阶段也很好。
我是目前唯一的开发人员,但是在寻求帮助之前,我需要确保流程牢固:)
最佳答案
两种技术可以帮助您:
因此,当您开发新功能时,要使其他站点受益,您需要做的就是确保它们各自的存储库引用最新的公共(public)代码存储库作为子模块。只需一个
git submodule update
即可完成。另外,使用模板配置文件,您存储的只是配置值,而不是实际的配置文件本身(它们会生成)。
这样,您就可以在每个站点上进行一些微调,而不必“忽略”本地修改。
总结:不要试图在一个仓库中管理所有方面(通用代码,配置文件,特殊文件等)(包括所有 merge 和 rebase ),而是要对应用程序进行模块化。
关于git - 如何在Git中管理多个开发分支?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2896707/