我是Gogs的新手。遇到与创建组织(组)有关的麻烦。
我创建了一个组织Org-A
,并为其添加了一个私有存储库Repo-A
。我向该组织添加了另一个用户User-A
(作为成员和团队成员)。但是当User-A
希望看到Repo-A
的内容时,Gogs会显示" 404:Not Found"页。当我将Repo-A
的隐私更改为公开User-A
时,可以看到它,但所有其他用户也可以看到它。
如何将存储库分组到组织中并向这些组织添加不同的用户,用户可以在他们所属的组织中读/写存储库?我希望repos只对组织成员可见/可编辑。
答案 0 :(得分:3)
如issue 1744中所述:
将这些用户添加到组织下的团队解决问题。
我们预计加入组织的默认行为应该为这些用户提供读取权限。
如果这仍然不起作用(即,用户已经在正确组织的团队中):
我终于找到了添加存储库链接团队的屏幕 然后,您可以将存储库添加到其他团队,例如开发人员。
当您在右侧看到团队时,点击" 0存储库"链接然后添加像您一样添加团队成员的存储库。
Igor Dejanović补充道:
您为团队设置了权限 然后在团队页面上点击链接"
x members
"添加新会员和"y repositories
"添加新的存储库。
团队本质上是成员和存储库之间的多对多链接。
答案 1 :(得分:3)
也许previous answer by Vonc对于较旧版本的Gogs是正确的,但在我的版本(0.11.43)中,不正确。
您可以在此处阅读gogs维护者(Unknown)所写的内容:
根据设计,只有所有者团队才能创建新的 存储库,如果需要将该存储库手动添加到其他团队。 gogs issue #1834
还有discussion on how to make team repos。 (只要看一下此链接内的图像,您就会了解如何向组织中的团队添加回购协议。)
为清楚起见,我将在此处添加一些信息:
对我来说,困惑在于我曾经将成员作为协作者添加到回购协议中,但是在组织团队中,您需要将回购协议添加到团队中。
在Gogs组织中,您可以创建repositories
和teams
。
默认情况下,每个组织都有一个名为Owners
的团队。
Owners
的团队成员可以读取/写入组织中的所有存储库。
对于您创建的每个新团队,该团队一开始都没有与之关联的存储库,因此团队成员无法访问任何私有存储库(对于公共存储库,没有任何人可以看到它们的问题)。
您可以将任何组织存储库添加到每个团队,然后在“团队设置”页面中设置权限(读/写)
返回特定问题:
Org-A
-> team-A
(仅写/读权限)-> member-A
Org-A
:Repo-A
(私人)
如果您希望team-A
的任何成员访问Repo-A
,请将Repo-A
添加到team-A
存储库中。
必须完成一些在组织许可流程中仍然感觉不正确的事情: