为庞大的遗留代码库组织git仓库

时间:2016-04-13 15:01:52

标签: git perl

我继承了一个庞大的perl-codebase。开发人员(我们是一个3人团队)目前通过备份文件进行“版本控制”(file.001,file.002 [...]和文件是最新版本的软链接)我赢得了任务实施适当的版本控制。我选择使用git是因为它最灵活,我想调整nvie's git-flow branching strategy,因为它适合他们在这里工作的方式。

我的问题是,我不知道如何正确组织存储库。我们有三个存储代码的目录:

  1. deamons的目录。这包含约200个单独的deamons。其中90%彼此没有依赖关系。 Deamons介于4000-10.000行代码之间
  2. 工具目录。工具包含约400个程序。同样,大多数都不相关
  3. 具有自编程模块的目录。其中一些与deamons有依赖关系(例如,在更改模块接口/子例程时,您还必须更改一些deamons)。那些一些高达~150。
  4. 此外:

    1. 所有配置文件都有一个目录
    2. 所有测试用例都有一个目录
    3. 我想为每个目录创建一个git存储库。

      以下问题: 两个人在开发部门工作两个守护,一个完成工作,一个仍然忙着他们每个人都做出了改变。现在你不能将稳定版本合并到master,因为你也可以推出半成品版本和完成版本。据我所知,它不可能仅推送单个文件。

      通常,每个项目都会组织一个git存储库。在我们的情况下,这将意味着创建~800个存储库,每个deamon一个,每个工具一个,每个模块一个。我觉得这很难管理,虽然它会以某种方式解决合并到主人的问题。

      有人遇到过这类问题吗?任何提示?我也很欣赏一本关于这个主题的好书。

1 个答案:

答案 0 :(得分:0)

根据git-flow,这两个开发人员在功能分支上工作。如果dev完成了,他将功能分支合并到devel分支,所以devel分支应该总是足够稳定以便合并,不应该这样吗?