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

非协作者提交至我的GitHub仓库,如何阻止该问题再次发生?

如何阻止非协作者直接推送代码至你的GitHub仓库

1. 启用分支保护规则(核心解决方法)

非协作者能直接推送到你的仓库,大概率是因为目标分支(比如main)没有开启保护规则。按以下步骤设置:

  • 打开GitHub仓库页面,进入「Settings」→「Branches」→「Branch protection rules」
  • 点击「Add rule」,填入要保护的分支名(如main)
  • 勾选关键限制选项:
    • Require a pull request before merging:强制所有修改必须通过Pull Request(PR)合并,禁止直接推送
    • Require approvals:设置至少1个审核通过才能合并(可根据需求调整数量)
    • Restrict who can push to matching branches:仅允许仓库协作者或指定团队推送该分支
  • 保存规则后,非协作者无法直接向受保护分支推送代码,只能通过PR提交修改请求

2. 核查仓库权限配置

确认没有误授予无关人员推送权限:

  • 进入仓库「Settings」→「Access」→「Collaborators and teams」
  • 检查列表,确保只有你信任的协作者在列,且权限符合预期(比如「Write」权限仅给需要推送的协作者)
  • 若仓库是公开仓库,默认非协作者仅拥有「Read」权限,无需额外调整;私有仓库则更不会开放推送权限给外部人员

3. 排查第三方应用与账号安全

  • 检查是否有未授权的GitHub Apps获得了仓库推送权限:进入仓库「Settings」→「Integrations」→「GitHub Apps」,移除可疑或未使用的应用
  • 为你的GitHub账号开启双因素认证(2FA),防止账号被盗用导致的非法推送:进入个人账号「Settings」→「Password and authentication」→「Two-factor authentication」完成设置

4. 确认本地仓库远程关联

虽然你已检查用户信息,仍可确认本地仓库的远程地址是否正确:

  • 执行命令:git remote -v
  • 确保origin指向的是你自己的仓库地址,而非他人的fork仓库

内容的提问来源于stack exchange,提问作者Francesco Costa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:20:01