限制某些GitHub用户合并分支

时间:2012-03-03 10:51:25

标签: git version-control permissions github git-merge

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

6 个答案:

答案 0 :(得分:6)

没有。防止这样的事情的唯一方法是git的内部预提交或更新挂钩。在接受推送之前,这些钩子被调用。

GitHub本身不支持预提交或更新挂钩。仅支持Web挂钩。但这些在推动后被称为。为时已晚,无法阻止某些类型。

答案 1 :(得分:6)

如果您的存储库位于Github上的组织下,则可以将开发人员添加到读取访问团队。这样他们就可以看到并检查存储库但不能提交它。他们还可以分叉存储库,这使得他们可以在fork中执行工作,然后提交pull请求以将其工作提交到主存储库。

然后,您可以只向某些负责审核和合并拉取请求的开发人员授予写入权限。

答案 2 :(得分:3)

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

答案 3 :(得分:0)

NO

您可能会想到这一点,因为Github上的“合并更改”按钮在拉取请求中。但这只是一件方便的事情。例如,如果存在冲突,则禁用该按钮,并且您必须手动合并计算机上的更改并将其推送到Github。

因此,如果用户可以将更改推送到分支,那么如何阻止他在其计算机上合并另一个分支,并推送它?由于Github afaik不存在这种限制,你将无法做到这一点。

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

答案 4 :(得分:0)

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

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

另见Git: Teamwork across branches without Push Permission

答案 5 :(得分:0)

是的,GitHub 现在原生支持此功能。 2020-2021 年的某个时间(?)they began to support Code Owners,这是 GitHub 用户,在允许合并之前需要对其进行 PR 审查。

  1. 这是特定于分支的行为
  2. 这个requires a user or GitHub team be referenced
  3. 这针对 repo 中的一个或多个文件路径