我们有两个客户(并且还在增加),他们共享一个项目 80% 的代码,主要区别在于图像、配置文件和一些 HTML。没有什么比大师更好的了,因为没有单独的数据,项目就无法运行。
使用 git 处理这种情况的最佳实践是什么?是否可以以某种方式使用 git flow?
目前我们只有 4 个分行:
customer1_dev -> customer1_master
customer2_dev -> customer2_master
我们正在挑选其中的大部分提交。
最佳答案
在这种情况下,使用 Git 管理代码库的主要选项是从公共(public)代码库分支,然后为每个客户维护单独的分支(并将对这些客户分支的提交限制为特定内容)。 所有共同开发都应该发生在主线分支。
然后,当您准备好为特定客户构建候选版本时,切换到他们的分支
并执行以下操作:git merge master
到该客户的分支中。这会将主线的所有更改引入到您的客户特定分支中。
您可以进行rebase
而不是 merge 。但这不太有利,因为如果错误出现在不在主线分支中的客户分支中,则可能会更难追踪错误的根本原因。但 merge
或rebase
到客户分支应该为您描述的情况提供良好的工作流程。
关于git - 两个master一起使用git的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56904253/