【问题标题】:How to change the GIT URL to which Visual Studio is trying to push?如何更改 Visual Studio 尝试推送的 GIT URL?
【发布时间】:2020-02-01 23:53:48
【问题描述】:

我需要推送的仓库是这样的:

https://myvault.visualstudio.com/foo/_versionControl?path=bar%2Fcxmlhub

但出于某种原因,VS 试图推到这里:

https://myvault.visualstudio.com/foo/_versionControl?path=bar%2Fcxmlhub/info/refs&service=git-receive-pack

我不知道(也无法弄清楚)额外的/info/refs&service=git-receive-pack 来自哪里。

当我执行git remote -v 时,我会返回fetchpush 的正确URL。另外,我已经在同一台机器上的浏览器上登录了 repo。

这是我看到的错误:

将分支推送到远程存储库时遇到错误:Git 因致命错误而失败。无法通过重定向更新 url 库

我看过这两个线程:

git push gives fatal: unable to update url base from redirection:

fatal: unable to update url base from redirection

但他们只告诉我我已经知道的:我试图推送到错误的 URL。我不知道如何解决这个问题!

【问题讨论】:

标签: .net git visual-studio visual-studio-2017


【解决方案1】:

您的远程 URL 配置错误。 Git 不允许存储库 URL 包含查询字符串。

您看到额外的 /info/refs&service=git-receive-pack 的原因是因为这是 Git 添加到您提供的基本远程 URL 以发现引用的 URL 的一部分。如果您尝试推送,Git 需要确定远程端有什么,读取引用是该过程的第一步。

您的 URL 应该改为 https://myvault.visualstudio.com/foo/_versionControl,您可以使用 git remote set-url origin https://myvault.visualstudio.com/foo/_versionControl 修改它(假设您的远程名称是 origin)。如果这不适合您的情况,请在浏览器中打开网页并在网络界面中找到克隆 URL,然后改用它。

如果您尝试推送到远程存储库的子目录,请知道这是不可能的。 Git 不允许只推入存储库的子目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2016-06-12
    • 2021-05-11
    • 2019-01-20
    • 2022-10-25
    • 2017-08-09
    • 1970-01-01
    相关资源
    最近更新 更多