Git push命令出现“fatal: unable to update url base from redirection”错误。

29
我已经在本地仓库上成功提交了。当我尝试执行以下操作时:
git push https://gitlab.com/priceinsight/jmt4manager/compare/develop...2-retrieve-list-userrecord# 2-retrieve-list-userrecord -v

我遇到了这个错误:

Pushing to https://gitlab.com/priceinsight/jmt4manager/compare/develop...2-retrieve-list-userrecord#
fatal: unable to update url base from redirection:
  asked for: https://gitlab.com/priceinsight/jmt4manager/compare/develop...2-retrieve-list-userrecord#/info/refs?service=git-receive-pack
   redirect: https://gitlab.com/users/sign_in

1
它说它无法处理重定向,最终到达登录页面,你确定你已经为gitlab页面配置了足够的身份验证吗? - Lasse V. Karlsen
不,我不确定。我应该检查什么? - Vyacheslav
1
首先确保您为GitLab服务器指定了正确的远程URL。 - Lasse V. Karlsen
4个回答

29
你尝试推送的URL不正确。你正在尝试推送到网页 https://gitlab.com/priceinsight/jmt4manager/compare/develop...2-retrieve-list-userrecord#,它是一个比较两个分支而不是一个仓库的URL。仓库的URL应该是https://gitlab.com/priceinsight/jmt4manager

1
我的URL像你在这里建议的那样完全是胡说八道。我发现如果我访问该URL,其中包含有效的git克隆URL。 - micahhoover

17

我知道你的问题已经解决了,但是我自己也遇到过一个类似的问题,是由于无意义的URL引起的。对于我来说,问题实际上是我还没有登录公司的互联网,所以git通过某种互联网登录页面被重定向了,并且未能进行下去。

在这种情况下,解决方法很简单:在尝试提交更改之前,只需在另一个浏览器中登录即可。


8
感谢您发布这个。这帮我节省了一些时间 :) - AswathyPrasad
“had not logged into the company internet” - 是的,这很有帮助。我必须连接公司 VPN 才能成功克隆。 - Mangesh

4

你需要执行以下2个步骤:

  • 删除当前远程地址:Git remote remove origin
  • 添加新的远程地址:Git remote add origin https://...(你的链接)

正是我所需要的。谢谢。 - Bögözi

2
我知道您的问题已经得到解决,但由于我有不同的解决方案,并且这是错误的顶级搜索结果,所以在此提供我的建议...

我只是使用了错误的repo字符串。在GCP repo查看器中,他们会给你一个HEAD URL,但这个URL与您应该使用的远程URI不同。在我的情况下,在Web控制台中的“链接”下拉菜单中提供的HEAD URL是:

https://source.cloud.google.com/[PROJECT]/[REPO]/+/master:

当然,我删除了末尾的“/+/master:”。
而我的实际(正确、可用)存储库 URL 是:

https://source.developers.google.com/p/[PROJECT]/r/[REPO]

我从这个页面获取了格式。不确定为什么这不是网站门户中的选项之一,但没关系。

希望这能帮助其他人!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接