代码无法推送到私有仓库:认证失败问题求助
解决Git推送私有仓库时Authentication failed的问题
先确认Git用户信息是否匹配
运行命令检查全局配置的用户名和邮箱,要和你仓库平台(GitHub/GitLab这类)的账号完全一致:git config --global user.name git config --global user.email不对的话就修改:
git config --global user.name "你的平台用户名" git config --global user.email "你的注册邮箱"还要检查项目本地的配置,进入项目目录运行:
git config user.name git config user.email本地配置优先级比全局高,要是不一致,去掉
--global参数修改本地配置即可。重置远程仓库地址+检查认证方式
新电脑可能残留了旧的远程配置,先删除再重新添加:git remote remove origin git remote add origin git@xxx.com:你的用户名/仓库名.git # 用SSH方式就这么写,HTTPS则用对应https地址- 用HTTPS的话,推送时会弹出账号密码输入框,直接输入平台的正确登录信息即可,注意不要输错。
- 用SSH的话,得确保本地有SSH密钥并且已上传到平台:
- 没有密钥就生成一个:
一路回车用默认设置就行。ssh-keygen -t ed25519 -C "你的注册邮箱" - 找到生成的公钥文件(Windows在
C:\Users\你的用户名\.ssh\id_ed25519.pub,macOS/Linux在~/.ssh/id_ed25519.pub),复制内容到仓库平台的SSH密钥管理页面。
- 没有密钥就生成一个:
清除系统缓存的旧凭据
系统可能存储了之前错误的认证信息,需要删除:- Windows:打开「凭据管理器」,找到「Windows凭据」里带有Git域名的条目,删除后重新推送。
- macOS:打开「钥匙串访问」,搜索Git相关记录,删除后再尝试推送。
- Linux:先查看使用的凭据助手:
git config --global credential.helper,如果是cache就运行git credential-cache exit清除缓存。
测试连接是否正常
用SSH方式的话,运行这个命令测试连接:ssh -T git@xxx.com # 替换成你的仓库平台域名,比如git@github.com要是返回类似「Hi 用户名! You've successfully authenticated...」的消息,说明SSH配置没问题。
内容的提问来源于stack exchange,提问作者Egorke Ovie
相关产品推荐
相关产品推荐

