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

Git拉取/推送报错“unable to update url base from redirection”求助

解决Bitbucket SAML重定向导致Git Pull/Push失败的问题

问题根源

你的公司Bitbucket采用了SAML单点登录(通过Microsoft Entra ID跳转至Jira登录),Git的HTTP凭证助手无法处理这种网页登录形式的重定向。克隆时能正常弹出凭证窗口,是因为初始克隆请求的验证逻辑未触发SAML跳转,后续的pull/push操作触发了严格身份验证,但Git无法自动完成网页登录流程,因此报错。

可行解决方案

1. 使用个人访问令牌(PAT)替代密码

这是最可靠的解决方式,PAT无需网页验证,可直接通过Git进行身份认证:

  • 登录公司Bitbucket,进入个人设置→Personal access tokens,生成一个新令牌,勾选repo:read和repo:write权限(按需调整),保存好生成的令牌(仅显示一次)。
  • 修改本地仓库的远程URL,将PAT嵌入其中:
    git remote set-url origin https://<你的PAT>@bitbucket.<company_name>.eu/scm/baprjrobe/ba_prj_timetracking.git
    
  • 之后执行git pull或git push即可直接通过验证,无需额外操作。

2. 配置凭证助手存储PAT(推荐,避免URL明文暴露)

如果不想在URL中明文写PAT,可配置Git凭证助手存储凭证:

  • 先设置全局凭证助手:
    # macOS
    git config --global credential.helper osxkeychain
    # Windows
    git config --global credential.helper wincred
    # Linux(使用libsecret)
    git config --global credential.helper libsecret
    
  • 执行git pull,提示输入用户名时填你的公司账号,密码处填刚才生成的PAT。凭证助手会自动存储该信息,后续操作无需重复输入。

3. 清除本地无效缓存凭证

如果之前存储的旧凭证导致冲突,先清除无效缓存:

  • macOS:打开钥匙串访问,搜索bitbucket.<company_name>.eu相关条目,右键删除。
  • Windows:打开控制面板→用户账户→凭据管理器→Windows凭据,找到Bitbucket的条目并删除。
  • Linux:删除~/.git-credentials文件,或执行git credential-cache exit清除缓存。

4. 尝试开启Git重定向跟随(辅助操作)

部分场景下开启重定向跟随可配合PAT使用,执行:

git config --global http.followRedirects true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:12:13