如何修复Git推送GitLab时报错fatal: unable to update url base from redirection
问题根因
- 最初设置的远程仓库地址为GitLab网页端分支浏览地址,并非Git可识别的仓库HTTPS克隆地址,无法正常用于推送操作
- 报错中重定向到登录页的提示,说明Git终端未存储有效的GitLab访问凭证,没有对应仓库的推送权限
解决步骤
修正远程仓库地址
先执行命令查看当前绑定的远程仓库地址:git remote -v
如果输出的origin地址带有/-/tree/master后缀,执行以下命令替换为正确的仓库地址:git remote set-url origin https://gitlab.hof-university.de/yu-gi-oh/software-entwicklung-praktikum.git
注:可直接登录GitLab进入对应仓库首页,点击「克隆」按钮复制HTTPS地址,避免手动输入出错配置GitLab访问凭证
修正地址后执行推送命令:git push -u origin master
此时终端会弹出账号密码输入提示:
- 账号输入你登录GitLab的用户名/绑定邮箱
- 密码不要输入GitLab登录密码,需输入GitLab个人访问令牌(PAT),生成方式为:登录GitLab后点击右上角头像→偏好设置→访问令牌,新增令牌时勾选
read_repository和write_repository权限,生成后复制保存,输入到密码输入框即可,本次输入后Git会自动缓存凭证,后续推送无需重复输入。
如果之前输入过错误凭证导致推送无输入提示:Windows系统可打开「控制面板-用户账户-凭据管理器-Windows凭据」,删除对应GitLab地址的凭证;Mac系统打开「钥匙串访问」,搜索GitLab地址删除对应凭证,重新执行推送命令即可弹出输入提示。
- 后续修改上传流程
后续本地内容修改后要上传新版本,直接执行以下常规流程即可:
git add . git commit -m "提交说明,比如修复XX问题/新增XX功能" git push origin master
内容的提问来源于stack exchange,提问作者Alpha-Omega
相关产品推荐
相关产品推荐

