在分支机构中管理不同的客户代码

时间:2019-06-04 13:40:40

标签: java git version-control bitbucket

我是git的新手,这可能是一个答案很明显的问题:

因此,我有一个项目/框架用于管理大量自动化测试用例。因此,文件夹代码结构如下。

Java
|-Package1
    |-Common code
    |-tests
        |- Client1 tests
        |- Client2 tests
        |
        |
        |- ClientN tests

是否建议在不同的分支机构维护客户端特定的代码?还是更好地制作项目副本并为每个客户维护不同的回购协议?基本上,每个客户端都使用Selenium / TestNG在同一核心之上编写不同的测试。

1 个答案:

答案 0 :(得分:0)

两种选择都是可能的,但我认为这里更多的是可维护性问题。在这种情况下,我将采用单独的存储库方法,但要额外使用:git submodules

选择此方法有两个原因:

  • 维护单独分支的复杂性。每个客户都有一个开发工作流程。这意味着当您想从现有客户端分支中向其中一个客户端添加新功能时,您可能不得不分支,事情变得一团糟。在某些时候,您可能会开始混淆分支;
  • 第二个原因是要跟通用代码保持一致;如果您的客户位于不同的分支机构,如何跟上常见的代码更新?定期合并/重新设置...?从长远来看,这比使用单独的git repos要多得多。

使用单独的repos / submodule方法,您将获得如下内容:

EXC_BAD_ACCESS

像这样,一切都是独立管理的,每个项目都可以有自己的流程,而无需依赖和混乱的分支结构。