GitLabee执行git pull提示认证失败,已创建令牌和SSH密钥仍无效
核心原因
- 当前仓库使用HTTP协议进行远程交互,你配置的SSH密钥仅对SSH协议的仓库地址生效,不会作用于HTTP请求
- 本地系统缓存了旧的Git账号密码凭证,新生成的个人访问令牌(PAT)未被读取使用
方案1:切换为SSH协议(推荐,后续无需重复输入凭证)
- 首先执行
git remote -v确认当前远程地址为https开头,再到GitLabee仓库主页复制SSH格式的仓库地址 - 本地执行命令修改远程地址:
git remote set-url origin 你复制的SSH仓库地址 - 重新执行拉取命令验证:
git pull origin modal_control,只要你提前配置的SSH公钥已正确添加到GitLabee账号中,即可正常拉取代码
方案2:保留HTTP协议,更新本地凭证为PAT
需要先清除本地存储的旧Git凭证,重新拉取时输入PAT作为密码即可:
Windows系统操作步骤
- 打开「控制面板」→「用户账户」→「凭据管理器」→「Windows 凭据」
- 找到对应
gitlabee....com的普通凭据条目,删除该条目 - 重新执行
git pull origin modal_control,弹出凭证输入窗口时,用户名填写GitLabee账号名,密码填写你生成的带有read_repository/write_repository权限的PAT即可完成认证
MacOS系统操作步骤
- 打开「钥匙串访问」,搜索
gitlabee....com,删除对应的旧凭证条目 - 重新执行拉取命令,按提示输入账号和PAT作为密码即可
Linux系统操作步骤
- 执行
git config --global credential.helper查看当前凭证存储工具,如输出为store,直接编辑~/.git-credentials文件删除对应gitlabee的旧凭证行即可;也可执行git credential reject https://gitlabee....com清除指定域名的旧凭证 - 重新执行拉取命令,输入账号和PAT即可完成认证
内容的提问来源于stack exchange,提问作者sssss_sssss
相关产品推荐
相关产品推荐

