如何配置Git或Gitlab,以便只允许分支的所有者将其推入?

如何配置Git或Gitlab,以便只允许分支的所有者将其推入?,git,version-control,gitlab,push,Git,Version Control,Gitlab,Push,定义: 谁是分行的老板?分支的所有者是创建该分支的用户 情况: 用户A已从主节点创建了名为A-branch的分支。因此,用户A是A分支的所有者 用户B是用户A的同事,他从master创建了另一个分支,称为B分支。因此,用户B是B分支的所有者 所需限制: 用户A必须是唯一可以将更改推送到A分支的用户。因为他是这家分行的老板 用户B必须是唯一可以将更改推送到B分支的用户。因为她是这家分行的老板 问题: 用户可以推送至B分支机构吗?不 用户可以拉吗 B分支机构?对 用户能否将B分支合并到自己的分支中?

定义:

谁是分行的老板?分支的所有者是创建该分支的用户

情况:

用户A已从主节点创建了名为A-branch的分支。因此,用户A是A分支的所有者

用户B是用户A的同事,他从master创建了另一个分支,称为B分支。因此,用户B是B分支的所有者

所需限制:

用户A必须是唯一可以将更改推送到A分支的用户。因为他是这家分行的老板

用户B必须是唯一可以将更改推送到B分支的用户。因为她是这家分行的老板

问题:

用户可以推送至B分支机构吗?不 用户可以拉吗 B分支机构?对 用户能否将B分支合并到自己的分支中?对 用户A和B能否将其分支合并到主分支中?对 此重建是否应在创建分支时自动应用?对
如何在Gitlab中实现上述行为?

正如torek提到的,Git不记录分支的所有权。我不知道有哪个Git托管平台允许对每个用户进行分支限制,特别是自动进行限制

当一个人与其他人共享存储库时,典型的假设是这些用户被信任为该存储库中的大多数分支(可能是某些特定的受限分支)做出贡献


在这种情况下,您可能希望允许为此存储库创建fork,然后将A和B推送到它们自己的fork。他们将能够从彼此的分支获取并打开拉取请求以合并他们的更改,但不能推送到彼此的分支。

Git本身不记录任何类型的所有权。GitLab的分支保护特性我假设它有一些不是Git的一部分,所以GitLab将首先使用一些Git之外的方法来做出这样的决定;也许他们在Git之外记录了一些创建信息。亲爱的@bk2204。谢谢你的回答。我仍在搜索此功能。我认为您不会找到它。我建议采用一种众所周知的替代方法,比如使用forks,或者简单地向您的团队明确传达标准和期望(如果后者可行的话)。