有关使用Github组织回购协议的最佳方法的问题

时间:2019-06-09 04:56:30

标签: git github

我有一个GitHub组织问题。

我有以下情况。我在一家初创公司工作,我试图找出组织我们的回购结构的最佳方法。我们的产品生态系统包含5个存储库(用于API,移动和Web)。 API组件由3个存储库组成,并且很常见。但是,移动设备和Web的存储库对我们每个客户都是唯一的。由于我们有10个客户,因此意味着:

** Common ***
Common API 1 repo
Common API 2 repo 
Common API 3 repo

*** Client 1 ***
Web client 1 repo
Mobile client 1 repo

*** Client 2 ***
Web client 2 repo
Mobile client 2 repo

,其余8个客户端中的每个客户端均如此。因此,到最后,这意味着我将拥有3 +(10 * 2)= 23个存储库。

当前,所有内容都只位于一个客户单一组织(我们公司的名称)中。有没有更整洁的方法来进行设置?我一直在阅读有关GitHub团队的信息,但我们是一家初创企业,每个人都需要访问一切。

理想情况下,我想要这样的东西:

http://github/organization
Common API 1 repo
Common API 2 repo 
Common API 3 repo

http://github/organization/client1
Web client 1 repo
Mobile client 1 repo

http://github/organization/client2
Web client 2 repo
Mobile client 2 repo

这有意义吗?我可以在Git中这样做吗?

我尝试直接问Github,但他们只是想让我购买企业许可证。我需要真正的帮助(对不起,并不冒犯任何Github员工)。

帮助!

2 个答案:

答案 0 :(得分:0)

正如我在“ Can I arrange repositories into folders on Github?”中所述,您没有嵌套组织的概念,因此,要将存储库分组在一起,您需要:

  • 多个组织(使用命名约定,可能是一种解决方法)
  • 或多个projects(每个项目最多5个存储库)

别忘了您可以添加outside collaborators,该{{3}}在组织内部只能访问某些存储库。

答案 1 :(得分:0)

如果您要问的是在GitHub上是否允许多层嵌套,不,不是。 GitHub上的所有存储库都在组织或用户的直接管理下。这对于Git托管来说是非常典型的,主要是因为正确路由多个级别的URL成为一个噩梦。

如前所述,如果您使用本地解决方案,则可以将事物分离出来,因为在那里您可以控制整个服务器,并且可以将事物拆分为多个项目或组织。在github.com上为一家小公司选择多个组织不是一个好主意,因为您最终需要多次管理用户并计费,这最终很麻烦(而且可能很昂贵)。

但是,对存储库采用一种命名方案来代替,例如使用client1-mobile,client2-web,common-api1等来组织事物可能是有用的。