You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub协作者权限风险咨询:能否删代码或制造分支冲突?

关于GitHub协作者权限与仓库保护的问题解答

问题1:该协作者能否删除仓库及其分支中的所有代码?

  • 一般来说,普通协作者(非仓库所有者/管理员)没有删除整个仓库的权限,但如果没设置分支保护,他们能删除自己推送过的分支,也可以在分支里提交删除代码的PR,或是直接推送删除代码的提交。

问题2:该协作者能否合并所有分支,故意制造冲突使代码无法使用/读取?

  • 如果协作者有分支推送权限,且目标分支没设保护规则(比如不需要PR审核、允许直接推送),他们可以往目标分支推送冲突代码,或是创建恶意PR并自行合并(权限允许的话),确实会导致代码混乱。

仓库保护方案

紧急操作(立刻执行)

  • 先移除该承包商的协作者权限:进入仓库的Settings → Collaborators and teams,找到该用户后点击Remove access,这是最直接阻断风险的办法。
  • 马上备份仓库:用命令git clone --mirror <仓库地址>创建完整镜像备份,包含所有分支和历史记录。

长期权限与分支配置

  • 细化分支保护规则:
    • 给核心分支(比如main/master)开启「Require a pull request before merging」,同时设置「Require approvals」(至少1个审核人),禁止协作者直接合并PR。
    • 开启「Do not allow bypassing the above settings」,确保管理员也不能绕开规则。
    • 开启「Require status checks to pass before merging」,配合CI/CD验证代码合法性。
  • 限制分支删除权限:虽然分支保护里没有直接的“禁止删除”勾选,但可以通过仓库权限设置,把协作者的权限从Write改成Read(如果不需要他们再提交代码),或者用GitHub Teams,给团队分配更精细的权限,比如只允许推送到特定分支,禁止删除分支。
  • 启用仓库审计日志:进入仓库Settings → Audit log,查看该协作者的操作记录,确认有没有可疑操作,后续也能追踪所有权限变更和代码操作。

内容的提问来源于stack exchange,提问作者game tactics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:42:52