You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Git Clone认证失败求助:凭据正确仍无法克隆仓库

解决Git克隆时的认证失败问题

碰到这种fatal: Authentication failed的情况真的很头疼,尤其是已经确认用户名密码没问题的时候。我给你整理了几个靠谱的排查和解决办法,挨个试应该能解决:

  • 清理Git的凭证缓存
    Git有时候会缓存旧的错误凭证,导致你输入正确的也没用。根据你的系统执行对应的命令:

    • Windows:运行git credential-manager-core erase,然后提示输入仓库的URL(比如https://url...),回车确认即可清除缓存。
    • macOS:运行git credential-osxkeychain erase,同样输入仓库URL清除。
    • Linux:如果用的是libsecret,运行git credential-libsecret erase并输入URL;或者直接删除~/.git-credentials文件(这个文件里存了明文的凭证)。
  • 检查远程仓库URL是否正确
    有时候URL里可能嵌了旧的用户名,比如https://old_username@xxx.com/repo.git,这时候你输入新密码也会匹配失败。先查看当前的远程URL:

    git remote -v
    

    如果发现URL不对,用下面的命令修改成正确的:

    git remote set-url origin https://correct-url...
    
  • 改用个人访问令牌(PAT)代替密码
    现在很多Git托管平台(比如GitHub、GitLab、Gitee)已经不再支持用账号密码直接进行HTTPS认证了,必须用个人访问令牌(PAT)。你可以在平台的账号设置里生成一个PAT(记得勾选仓库相关的权限),然后克隆的时候:

    • 用户名填你的账号名
    • 密码填生成的PAT
      这样基本能解决大部分HTTPS认证问题。
  • 检查代理或防火墙设置
    如果你在公司网络或者用了代理,防火墙或代理可能会拦截Git的认证请求。试试:

    • 临时关闭代理,再尝试克隆
    • 如果必须用代理,确保Git已经正确配置了代理:
      git config --global http.proxy http://your-proxy-address:port
      
      不需要代理的话,也可以清空代理配置:
      git config --global --unset http.proxy
      git config --global --unset https.proxy
      
  • 切换到SSH协议克隆
    如果HTTPS的问题一直搞不定,换成SSH协议是个不错的备选方案:

    1. 生成SSH密钥对:ssh-keygen -t ed25519 -C "your-email@example.com"(一路回车默认设置即可)
    2. 将公钥(~/.ssh/id_ed25519.pub里的内容)添加到Git托管平台的SSH密钥设置里
    3. 用SSH格式的URL克隆仓库,比如git clone git@xxx.com:username/repo.git

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

火山引擎 最新活动