一堆“项目”的Master Git存储库

时间:2018-10-03 13:14:37

标签: c# git repository git-submodules libgit2sharp

首先,非常感谢您让我加入这个社区! :D

第二,我们直接解决这个问题!

今天,我是一堆项目的唯一负责人,过了一段时间,我们决定将这些项目委托给其他员工,因为很多时候技术人员不需要我进行代码修改可以轻松做到。今天,每个代码修改都委派给我,这样就可以轻松控制项目。

然后,如果我们开始与更多的人一起工作,将很难控制这些项目。然后我想知道(哈哈)为什么不使用Git作为我们的项目控制器?

我开始开发使用LibGit2Sharp(太好了!)来控制项目的应用程序,但是后来我意识到我必须创建大量项目来控制每个项目。每个项目更像一个配置文件,而不是开发文件。如果所有这些项目都可以在同一项目中(例如,作为子模块)进行控制,那将是很好的。我开始寻找什么子模块给了我,但我认为这与我需要的不一样。

项目结构如下:

/Master Project 
   /.git
   /MySoftwareV1
       /Customer1
          /.git
          ConfigFile1.cfg
          ConfigFile2.cfg
          ConfigFile3.cfg
       /Customer2
          ...
       /Customer3
          ...
       /Customer4
          ...
   /MySoftwareV2
       /Customer5
          /.git
          ConfigFile1.cfg
          ConfigFile2.cfg
          ConfigFile3.cfg
       /Customer6
          ...
       /Customer7
          ...
       /Customer8
          ...

是否可以实施? 在这种情况下,我的应用程序将控制用户检出/检入的子模块。

如果您需要更多信息,请不要犹豫告诉我!

谢谢!

最好的问候

1 个答案:

答案 0 :(得分:2)

我会保持简单,使用单个Git存储库,而不使用诸如子模块之类的奇特东西,而是将项目结构镜像为文件夹层次结构。

如果您想更好地控制技术人员的工作,可以让他们每个人在各自的分支机构工作,这样他们就不会损害他人的工作。审查其更改并将其合并到master分支将是您(或您基于LibGit2Sharp的应用程序的)任务。

由于Git跟踪整个更改历史记录,因此您始终可以撤消不需要的更改。