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

Git推送远程仓库时本地配置用户未覆盖全局用户致权限拒绝

问题原因及解决方法

核心区别:提交作者配置 vs 推送身份验证

Git的user.name/user.email配置(全局或本地)只负责生成提交记录里的作者/提交者信息,和推送远程仓库时的身份验证是完全独立的两个机制:

  • 提交作者显示为ninadraj321,是因为本地仓库的user.name/user.email覆盖了全局配置,这个配置仅作用于提交记录的元数据,不影响身份验证环节。
  • 推送时报错显示使用ninadraj221的身份,是因为Git访问远程仓库的凭据(HTTPS的用户名密码、SSH密钥关联的账号)是全局生效的,本地的user配置不会覆盖这个凭据。

解决方法

针对当前仓库单独配置身份验证凭据:

  • HTTPS方式:修改当前仓库的远程URL,显式指定ninadraj321作为用户名:
    git remote set-url origin https://ninadraj321@github.com/ninadraj321/TestRepo.git
    
    下次推送时会提示输入ninadraj321的GitHub密码或个人访问令牌。
  • SSH方式:确保当前仓库使用的SSH密钥属于ninadraj321账号,或在本地~/.ssh/config中为该仓库的域名指定对应密钥:
    Host github-ninadraj321
      HostName github.com
      User git
      IdentityFile ~/.ssh/ninadraj321_rsa
    
    然后修改仓库远程URL为:
    git remote set-url origin git@github-ninadraj321:ninadraj321/TestRepo.git
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:58:15