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

GitHub仓库可Fetch、Pull但无法Push,求解决方案

解决Git Push时要求GitHub用户名的问题

问题根源

你的远程仓库配置采用的是HTTPS协议地址,即便本地已经正确配置SSH证书,Git仍会走HTTPS的认证流程。而GitHub早已停止支持密码认证,因此触发了认证失败的提示。

解决方案一:切换远程仓库地址为SSH格式

  1. 确认当前远程地址(你已提供,可再次验证):
    git remote -v
    
  2. 删除原有HTTPS远程地址:
    git remote remove origin
    
  3. 添加SSH格式的远程地址(替换<my_account>和<my_repo>为你的实际账号与仓库名):
    git remote add origin git@github.com:<my_account>/<my_repo>.git
    
  4. 验证远程地址修改结果:
    git remote -v
    
    正常输出应为:
    origin  git@github.com:<my_account>/<my_repo>.git (fetch)
    origin  git@github.com:<my_account>/<my_repo>.git (push)
    
  5. 再次尝试推送变更:
    git push
    
    此时Git会使用你配置的SSH密钥完成认证,不会再要求输入用户名密码。

解决方案二:使用Git凭证助手(保留HTTPS协议)

若偏好继续使用HTTPS,可通过存储个人访问令牌(PAT)绕过密码认证:

  1. 在GitHub账号设置中生成带repo权限的个人访问令牌(PAT)。
  2. 配置Git凭证助手自动存储凭证:
    git config --global credential.helper store
    
  3. 首次推送时,输入你的GitHub账号名作为用户名,将生成的PAT作为密码输入。后续Git会自动复用存储的凭证,无需重复输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:24:57