我已经购买了personal user account
github。
例如,我创建了一个存储库repo
,它有两个子文件夹:app1
,app2
。
是否有人知道是否可以邀请collaborator1
子文件夹app1
,并邀请collaborator2
子文件夹{。}}。
如果app2
无法做到这一点,personal user account
是否允许这样做?
PS:我在organisation account
下有一些同时使用test.sh
和repo
的其他文件(例如app1
),所以如果我为{{创建两个单独的存储库1}}和app2
(而不是整个app1
),我将无法将这些测试文件放在git中。
答案 0 :(得分:1)
无法为单个存储库中的文件夹定义权限,即使使用组织帐户也是如此。我建议将您的存储库拆分为单独的存储库,以便为每个存储库设置自定义权限。
答案 1 :(得分:0)
这似乎是git子模块的一个好例子。
至少提到,您首先需要为app1
和app2
创建单独的存储库。这些是完全独立的,彼此不了解,因此您可以拥有单独的权限。
然后,您可以在app1
存储库中添加app2
和repo
作为子模块。
在repo
存储库中,删除app1和app2目录(当然,在创建各自的存储库之后)并运行:
git submodule add git@github.com/username/app1
git submodule add git@github.com/username/app2
这两个存储库将作为目录添加到repo
存储库的根目录中,并将在新创建的.gitmodules
文件中进行跟踪。测试脚本不必更改,因为它们只会看到正常的目录。
用户可以将app1
和app2
签出为独立的存储库,但您也可以使用以下代码获取所有代码:
git clone --recursive git@github.com/username/repo
或者,如果您已经克隆repo
,则可以使用以下命令更新子模块:
git submodule update --init
有关详细信息,请参阅git submodule文档。