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

Mac下Git Push报403权限被拒错误,求解决方法

排查步骤
  • 检查远程仓库URL一致性
    执行git remote -v查看当前仓库的origin地址,确保和Linux服务器上的URL完全一致,注意GitHub Enterprise的仓库路径区分大小写,避免因路径拼写/大小写错误导致权限验证失败。

  • 验证精细粒度令牌的仓库权限
    登录企业GitHub后台,进入「个人设置→开发者设置→精细粒度令牌」,找到对应令牌:

    • 确认「Repository access」选项是否包含目标仓库<top folder>/xyz.git(选择「All repositories in the organization」或明确指定该仓库);
    • 检查仓库权限部分是否开启了「Contents」的「Write」权限(push操作需要该权限)。
  • 强制使用gh凭证助手
    已安装GitHub CLI(gh)且认证成功的情况下,执行以下命令强制Git使用gh的凭证管理:

    git config --global credential.helper "gh"
    

    之后重新执行git push,确保使用gh已认证的会话凭证。

  • 用curl测试令牌有效性
    执行以下curl命令验证令牌对仓库push端点的访问权限:

    curl -u myuser:<你的精细粒度令牌> https://<company's github ent server>/<top folder>/xyz.git/info/refs?service=git-receive-pack
    
    • 返回正常Git refs信息:令牌权限有效,问题出在Git凭证传递环节;
    • 返回403:令牌本身无push权限,需联系管理员确认组织/仓库权限设置。
  • 排查系统代理与防火墙

    • 暂时关闭Mac的全局代理(包括系统代理、第三方代理工具),重新尝试push,避免代理拦截或修改HTTP授权头;
    • 确认本地防火墙未阻止Git访问企业GitHub服务器的443端口。
  • 查看Git详细请求日志
    执行以下命令获取push过程的详细HTTP日志,重点检查Authorization头是否正确携带令牌,以及服务器返回的具体错误细节:

    GIT_CURL_VERBOSE=1 git push origin "skm/build_improvements"
    
  • 确认组织/仓库权限配置
    联系企业GitHub组织管理员:

    • 确认你的账号在<top folder>组织下拥有仓库的写入权限;
    • 检查是否存在IP白名单限制(Linux服务器IP在白名单,Mac IP未加入);
    • 确认仓库的分支保护规则是否限制了skm/build_improvements分支的push权限。
  • 仓库本地配置凭证
    进入仓库目录,执行以下命令设置本地凭证助手,确保仓库级配置覆盖全局配置:

    git config credential.manager store
    

    之后重新执行push,按提示输入令牌,完成本地凭证存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:41:48