我正在努力创建一个使用GIT的项目管理系统。目前还处于早期阶段。这个想法是
为此,我要做的是创建与部门一样多的GIT实例。因此,每个实例都有其自己的SSH端口号,顺序为任意顺序,例如“ Design GIT实例”为1234,“ Web GIT实例”为1235,依此类推。因此,任何部门员工只能访问其相关部门的项目。
问题:
我们可以制作GIT实例吗?如果是,那怎么办?我对GIT和ubuntu非常陌生
答案 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上有许多关于gitolite的问答。
您还可以考虑基于Web的git解决方案。参见a list of possible solutions。该列表绝不是完整的。 Gitlab CE(社区版)也许是最复杂的环境。但是大多数允许创建用户和组,以及管理访问权限。