邀请不同的协作者访问存储库

时间:2016-10-07 23:45:57

标签: git github

我已经购买了personal user account github。

例如,我创建了一个存储库repo,它有两个子文件夹:app1app2

是否有人知道是否可以邀请collaborator1子文件夹app1,并邀请collaborator2子文件夹{。}}。

如果app2无法做到这一点,personal user account是否允许这样做?

PS:我在organisation account下有一些同时使用test.shrepo的其他文件(例如app1),所以如果我为{{创建两个单独的存储库1}}和app2(而不是整个app1),我将无法将这些测试文件放在git中。

2 个答案:

答案 0 :(得分:1)

无法为单个存储库中的文件夹定义权限,即使使用组织帐户也是如此。我建议将您的存储库拆分为单独的存储库,以便为每个存储库设置自定义权限。

答案 1 :(得分:0)

这似乎是git子模块的一个好例子。

至少提到,您首先需要为app1app2创建单独的存储库。这些是完全独立的,彼此不了解,因此您可以拥有单独的权限。

然后,您可以在app1存储库中添加app2repo作为子模块。

repo存储库中,删除app1和app2目录(当然,在创建各自的存储库之后)并运行:

git submodule add git@github.com/username/app1
git submodule add git@github.com/username/app2

这两个存储库将作为目录添加到repo存储库的根目录中,并将在新创建的.gitmodules文件中进行跟踪。测试脚本不必更改,因为它们只会看到正常的目录。

用户可以将app1app2签出为独立的存储库,但您也可以使用以下代码获取所有代码:

git clone --recursive git@github.com/username/repo

或者,如果您已经克隆repo,则可以使用以下命令更新子模块:

git submodule update --init

有关详细信息,请参阅git submodule文档。