GitHub仓库协作者文件夹权限配置及PR合并审核需求咨询
解决方案:GitHub仓库文件夹级访问限制+分支审核流程
一、实现文件夹级访问限制(仅允许访问f1)
GitHub原生不支持单仓库内的文件夹级权限隔离,要实现仅让协作者访问f1、无法查看其他文件夹,最可靠的方案是拆分仓库+Git子模块:
- 拆分独立仓库:把原仓库中f1文件夹的内容迁移到一个全新的独立仓库(比如命名为
repo-f1)。 - 关联子模块:在原仓库中执行命令,将
repo-f1作为子模块关联到f1路径:git submodule add <repo-f1的GitHub地址> f1 - 分配权限:仅邀请协作者加入
repo-f1仓库,给他们设置写入权限(允许推送变更),不给他们原仓库的任何权限。这样协作者只能看到和操作repo-f1的内容,完全无法访问原仓库的f2、f3等文件夹。
二、强制变更需审核才能合并
无论使用拆分后的子仓库还是原仓库,都可以通过分支保护规则实现推送变更必须经过审核:
- 进入目标仓库的
Settings > Branches > Branch protection rules页面。 - 点击
Add rule,配置以下核心选项:- 在
Branch name pattern中填写要保护的分支名(比如main或master)。 - 勾选Require a pull request before merging:强制所有变更必须通过Pull Request(PR)提交。
- 勾选Require approvals,设置至少1个审核通过才能合并(可根据需求调整数量)。
- 勾选Dismiss stale pull request approvals when new commits are pushed:确保新提交的代码需要重新审核,避免旧审核失效。
- 在
- 保存规则后,协作者无法直接推送到保护分支,必须提交PR,待审核通过后才能合并到目标分支。
补充说明
CODEOWNERS仅用于指定PR需要特定角色审核,无法限制仓库内容的访问权限,所以必须结合仓库拆分+分支保护规则才能满足你的全部需求。
内容的提问来源于stack exchange,提问作者mohammad13
相关产品推荐
相关产品推荐

