限制某些GitHub用户合并分支



是否可以限制某些git用户在GitHub上合并git分支?我想让用户在当前分支中提交、拉取和推送更改,切换到另一个现有分支,但不允许合并分支。它可以在GitHub.com或独立的git存储库上使用吗?

如果您的存储库在Github上的一个组织下,您可以将开发人员添加到读取访问团队中。这样,他们可以查看和签出存储库,但不能提交到它。他们还可以分叉存储库,这让他们在分叉中完成工作,然后提交pull请求,将工作提交到主存储库。

然后,您可以只向负责审查和合并拉取请求的特定开发人员授予写访问权限。

否。防止这种情况发生的唯一方法是git的内部预提交或更新挂钩。在接受推送之前,这些钩子会被调用。

GitHub本身不支持预提交或更新挂钩。仅支持web挂钩。但这些都是推后调用的。所以阻止某些类型已经太迟了。

bitbucket支持每个分支的权限,这将有助于防止分支合并。我怀念github 上的那个功能

你可能会这么想,因为拉取请求上Github的"合并更改"按钮。但这只是一件方便的事情。例如,如果发生冲突,该按钮将被禁用,您必须手动合并机器上的更改并将其推送到Github。

那么,如果用户可以将更改推送到一个分支,您将如何阻止他在自己的机器上合并另一个分支并推送它?由于Github afaik中没有这种限制,您将无法实现这一点。

哦,但是你可以礼貌地要求你的用户不要合并分支;)。

是的,GitHub现在原生地支持这一点。2020-2021年的某个时候(?),他们开始支持代码所有者,即GitHub用户,在允许合并之前需要对其进行PR审查。

  1. 这是特定于分支的行为
  2. 这需要引用用户或GitHub团队
  3. 这针对回购中的一个或多个文件路径

我不确定"独立git存储库"是什么意思,但gitolite可能会给你想要的:

"示例2,一个回购,但不同开发人员对不同分支和标签的访问级别不同"——http://sitaramc.github.com/gitolite/why.html

另请参阅Git:在没有推送权限的情况下跨分支的团队合作

最新更新