如何创建多个GIT实例?

时间:2018-12-03 17:17:57

标签: git ubuntu

我正在努力创建一个使用GIT的项目管理系统。目前还处于早期阶段。这个想法是

  1. 我们有“设计”,“网络”,“ Android”等部门
  2. 我们每个部门都有很多项目。
  3. 我们为每个项目都有GIT存储库。

为此,我要做的是创建与部门一样多的GIT实例。因此,每个实例都有其自己的SSH端口号,顺序为任意顺序,例如“ Design GIT实例”为1234,“ Web GIT实例”为1235,依此类推。因此,任何部门员工只能访问其相关部门的项目。
问题:
我们可以制作GIT实例吗?如果是,那怎么办?我对GIT和ubuntu非常陌生

2 个答案:

答案 0 :(得分:3)

是的,单个服务器可以服务多个Git存储库。不要将其视为多个实例。只是通过ssh访问的文件。

通常,您不会按端口号进行操作。 (同样,它不是一个实例。它只是一个文件。)Git被设计为可以通过ssh访问。将每个存储库放在不同的位置(例如printf("%c\n", key[0]);)。使用Linux用户凭证控制对存储库的访问。设置git服务器有点复杂,并且需要一些Linux知识。 The documentation将提供有关如何执行此操作的更多信息。

使用BitBucket或GitHub或类似服务为您设置和管理对存储库的访问可能会容易得多。

答案 1 :(得分:1)

我认为您使解决方案比应做的难。您提出的建议是可能的,但需要大量的管理工作。

如果您坚持使用ssh,则更好的解决方案是gitolite。该程序允许您运行ssh服务器的一个实例,但是具有细粒度的访问权限。就gitolite而言,您的部门是团体,您可以为团体或个人用户授予或拒绝对项目的访问。 SO上有许多关于的问答。

您还可以考虑基于Web的git解决方案。参见a list of possible solutions。该列表绝不是完整的。 Gitlab CE(社区版)也许是最复杂的环境。但是大多数允许创建用户和组,以及管理访问权限。