组织在gogs发行

时间:2017-01-17 18:49:20

标签: git gogs

我是Gogs的新手。遇到与创建组织(组)有关的麻烦。

我创建了一个组织Org-A,并为其添加了一个私有存储库Repo-A。我向该组织添加了另一个用户User-A(作为成员和团队成员)。但是当User-A希望看到Repo-A的内容时,Gogs会显示" 404:Not Found"页。当我将Repo-A的隐私更改为公开User-A时,可以看到它,但所有其他用户也可以看到它。

如何将存储库分组到组织中并向这些组织添加不同的用户,用户可以在他们所属的组织中读/写存储库?我希望repos只对组织成员可见/可编辑。

2 个答案:

答案 0 :(得分:3)

issue 1744中所述:

  

将这些用户添加到组织下的团队解决问题。

     

我们预计加入组织的默认行为应该为这些用户提供读取权限。

如果这仍然不起作用(即,用户已经在正确组织的团队中):

  • 仔细检查网址的大小写(区分大小写)
  • 尝试检查您是否使用gitea(gogs的叉子)重现同样的问题

commented作为Hamish Carpenter

  

我终于找到了添加存储库链接团队的屏幕   然后,您可以将存储库添加到其他团队,例如开发人员。

     

当您在右侧看到团队时,点击" 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组织中,您可以创建repositoriesteams。 默认情况下,每个组织都有一个名为Owners的团队。 Owners的团队成员可以读取/写入组织中的所有存储库。

对于您创建的每个新团队,该团队一开始都没有与之关联的存储库,因此团队成员无法访问任何私有存储库(对于公共存储库,没有任何人可以看到它们的问题)。

您可以将任何组织存储库添加到每个团队,然后在“团队设置”页面中设置权限(读/写)

返回特定问题:

Org-A-> team-A(仅写/读权限)-> member-A

Org-ARepo-A(私人)

如果您希望team-A的任何成员访问Repo-A,请将Repo-A添加到team-A存储库中。

必须完成一些在组织许可流程中仍然感觉不正确的事情:

  • 可以将任何用户作为协作者手动添加到任何回购中,并直接从回购设置中设置其权限
  • 但是,不可能在同一屏幕上添加一个团队作为协作者(这应该在团队页面上完成)。
  • 还有,如果进入回购设置-协作页面,您将看不到可以访问该回购的团队,只会看到手动设置的用户。