Git - 维护多个版本

时间:2016-01-13 16:30:46

标签: git

我有一个带有Web项目的git存储库。我想为不同的客户定制这个Web项目。

例如,我有两个客户c1和c2。所以我创建了两个git分支:c1和c2。

每个版本都具有相同的基本系统但功能不同。如果我想在一个分支中添加新功能或修复错误,则没有问题。但是如果我想要改变与两个分支有关的东西呢?这会导致大量的合并冲突。

有人能告诉我一个更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

我喜欢GitHub功能Fork来解决此类问题,主要想法是使用Pull Request或以其他方式使用单独的存储库和复制提交,这样的方法,两个存储库都会有共同基础,然后将演变为单独的存储库。

要使用相同的方法,不必使用GitHub,您只需创建几个git存储库,然后添加其他remote,而不是Pull Request,您只需使用cherry-pick用于从一个存储库到另一个存储库的复制提交。这种方法无助于以更好的方式解决冲突。

此外,您应该考虑将公共部件开发的模块化方式作为单独的模块,这可以通过submodules或与您的编程语言相关的其他方法来完成,例如在Java中您可以开发单独使用模块,然后使用MavenGradleIvy的依赖关系管理功能从其他项目中使用它。