如何为GitHub仓库添加特定国家用户的编辑权限限制?
问题
如何禁止特定国家的用户编辑我的GitHub仓库,添加基于国家的访问限制?
背景
部分用户通过在仓库中修改readme.md(仅添加个人名字)刷GitHub贡献值,这类无意义操作示例如下:


可行方案
GitHub官方没有提供直接按国家/地区限制访问的功能,可通过以下方式拦截这类恶意操作:
强制PR审核流程
进入仓库「Settings」→「Branches」→「Branch protection rules」,为主分支配置:- 勾选「Require a pull request before merging」,禁止直接推送修改到主分支
- 开启「Require approvals」,设置至少1名维护者审核通过才能合并,从流程上卡住无意义修改
封禁恶意用户
对提交无意义内容的用户,进入其主页点击「Block user」,封禁后该用户无法再操作你的仓库;批量情况建议人工识别后逐一封禁(IP归属地存在误差,不建议仅以此判定)收紧仓库权限
- 非必要公开的仓库可转为私有,仅邀请可信协作者编辑
- 公开仓库在「Settings」→「Manage access」中,仅给指定用户开放写权限,普通用户只能提交PR
自动化过滤无效内容
- 安装
Stale这类GitHub App,自动关闭长期未处理的无意义Issue/PR - 用
Probot编写自定义规则,比如检测PR仅修改readme.md且仅添加个人名称,自动标记无效并关闭
- 安装
内容的提问来源于stack exchange,提问作者Ali Zain
相关产品推荐
相关产品推荐

