用途:在不公开仓库的前提下,为外部客户或承包商开通私有 GitHub 仓库访问权限,并支持撤销与审计。
主要能力:提供 grant(授权)、revoke(撤销)、list(列出)三种模式。授权时接受用户名与邮箱混合列表,默认权限为 pull(只读),可选 triage、push,maintain/admin 需明确坚持才允许。支持将邮箱解析为 GitHub 用户名,组织仓库可通过邮箱邀请。list 会分别列出活跃协作者与待处理邀请。
使用方式:需先通过 gh auth status 确认已认证,令牌需具备 repo 权限,组织仓库还需 admin:org 权限且调用者为组织所有者或仓库管理员。授权命令示例:gh api -X PUT "repos/<owner>/<repo>/collaborators/<login>" -f permission=<pull|triage|push|maintain|admin>;撤销:gh api -X DELETE "repos/<owner>/<repo>/collaborators/<login>";列出:gh api "repos/<owner>/<repo>/collaborators?affiliation=all" --jq '.[] | {login, permissions}' --paginate。
适用场景:私有仓库向外部人员开放只读或有限权限、批量处理混合标识符、审计现有协作者与待处理邀请。
限制:邮箱邀请仅对组织仓库有效,个人仓库无解析用户名时需向对方索取 GitHub 用户名;撤销操作对接收方可见;权限提升需显式确认,不会静默升级。