【问题标题】:Git - error: RPC failed; result=22, HTTP code = 401 fatal: The remote end hung up unexpectedlyGit - 错误:RPC 失败; result=22, HTTP code = 401 fatal: 远端意外挂断
【发布时间】:2012-09-14 16:18:52
【问题描述】:

我使用的是 ubuntu 11.10 机器。我已经安装了 1.7.7.1 版本的 git。我正在使用 git-cola 推送和拉取我的代码,并且能够成功提交和推送我的更改。

现在,我已经更换了我的机器,我的新系统具有与上述相同的配置。 (Ubuntu 11.10 机器和 git 版本 1.7.7.1)。

在新机器上,我在 git push 上有问题。尝试推送代码时收到以下错误消息:

error: RPC failed; result=22, HTTP code = 401
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

在网上,我发现它可能是由于以下任何一种原因:

  • 错误的 git 用户密码(在我的情况下,我认为我使用正确的密码来推送代码。因为即使现在我成功了,当我从旧系统推送工作区代码时(使用相同的密码!) . 但问题只出在我的新系统上。
  • 使用以下命令增加缓冲区大小:

    git config --system http.postBuffer 52428800

我试过这个,但没有运气。甚至试图将我的缓冲区大小增加到 52428800 以上,但仍然是同样的错误。

卡在这个问题上。谁能给我一个解决方案。

谢谢。

【问题讨论】:

  • 您可以发布远程 URL 吗? (git remote -v)
  • 您好,感谢您的回复。它给出: origin my_site_url/git/project_name.git (fetch) origin my_site_url/git/project_name.git (push)
  • my_site_url 是什么? github?如果不是,服务器是什么?
  • 嗨,我需要谢谢你。你节省了我的时间。现在我能够成功推送我的代码。我在您指出的服务器 url 上犯了一个错误(BIG MISTAKE)。错误地我最后在我的存储库 URL 中有一个点 (.)。所以我无法推送我的代码。我发现我的 URL 是错误的,只有通过 'git remote -v' 命令。谢谢查尔斯B。
  • 嗨,我遇到了同样的问题。我正在将本地更改推送到 TFS-Git 存储库中,这些问题都没有解决。 stackoverflow.com/questions/22867076/…

标签: git git-remote


【解决方案1】:

您一定是在远程 URL 中出错了,使用git remote -v 仔细检查输出并使用

修复它
 git remote set-url origin <new-url>

假设远程名称是origin

【讨论】:

    【解决方案2】:

    适用于在 Windows 上使用 TFS git 存储库的人。我最近更改了我的 Windows 密码,因此我有

    error RPC failed; result=22, HTTP code = 401 fatal: The remote end hung up unexpectedly
    

    在执行不同的操作时,例如获取、推送或拉取。我们使用 TFS git repo。 我解决了通过控制面板从 Windows 凭据管理器中删除我的 tfs 密码的问题。 https://support.microsoft.com/help/4026814/windows-accessing-credential-manager

    【讨论】:

    • 我们遇到了同样的问题,因为在我们的环境中,我们托管了自己的 git 服务器,它使用 windows 用户名和密码,但仍然存储上次在凭证管理器中使用的用户名和密码,所以我们必须删除它。
    • 这不仅仅适用于 TFS
    • 这解决了我使用 git for windows 的问题。它也解决了 intelliJ 的问题,因为它使用 git for windows。
    【解决方案3】:

    更新到 git 版本 1.8.x 后问题立即解决

    【讨论】:

      【解决方案4】:

      就我而言,用户权限是问题所在。我将自己添加为存储库的有效用户,之后“推送”工作。

      【讨论】:

        【解决方案5】:

        FWIW,我遇到了同样的问题,并通过删除并重新添加遥控器来解决它:

        git remote remove origin
        git remote add origin http://host:port/my/repo
        git branch --set-upstream master origin/master
        

        这假设您在 master 分支上,并且您唯一的远程是 origin

        【讨论】:

        • fatal: the '--set-upstream' option is no longer supported,现在你应该使用git branch --set-upstream-to=origin/master master
        【解决方案6】:

        我遇到了同样的错误,对我来说这是因为我没有存储库的提交权限。 401 错误代码是 HTTP 401(未经授权)错误。一旦我获得了权限,问题就解决了。

        【讨论】:

        • 我也意识到这个错误是安全reletad,因为它写得很清楚HTTP 401。原来我使用了错误的用户名和密码。使用正确的凭据后,我能够像往常一样将提交推送到存储库。
        【解决方案7】:

        这可能不是您正在寻找的答案,但我的公司代理(默默地)未能提交或其他上传到 github.com。针对 git.com 的所有其他操作都正常工作,从而混淆了问题。

        唯一的解决方案是创建补丁并通过电子邮件将其发送到网络之外。笨拙但有效。

        【讨论】:

        • 我不知道这个答案对任何人有什么帮助。
        • 这对我很有帮助!
        【解决方案8】:

        确保您的网址具有正确的用户名和密码

        git remote set-url origin http : //username:password..
        

        【讨论】:

          【解决方案9】:

          唯一对我有用的是在提交之前删除所有“.gitignore”文件,因为我有几个嵌套的 Git 根

          请注意,我刚刚开始使用新的存储库,所以我不必处理反向提交

          【讨论】:

            【解决方案10】:

            我为我的 Windows 10 机器重新安装了 git。 神奇的事情发生了!!

            【讨论】:

              【解决方案11】:

              我的问题 -- error: RPC failed; result=22, HTTP code = 401 -- 已通过在 git push 之前发出 git repack -a -d 得到解决。

              【讨论】:

                猜你喜欢
                • 2015-12-27
                • 2016-08-01
                • 2014-09-17
                • 1970-01-01
                • 2020-05-21
                • 1970-01-01
                • 2014-05-17
                • 2013-09-04
                相关资源
                最近更新 更多