1

我无法将大约 20MB 的大更改或文件推送到 Git。在 POST git-receive-pack 后它会一直挂起并显示

致命:远程端意外挂断错误:RPC失败;结果 = 56,HTTP 代码 = 0

我在 StackOverflow 上看到了其他问题,但没有一个有效。但是,我确实尝试了很多事情,所以希望这些额外的信息可以帮助找到解决方案。

我使用没有 SSL 证书的 IIS 和 http 设置了 Bonobo Git 服务器,一切正常。我可以使用 TortoiseGit、GitExtensions 推/拉大文件,也可以使用 Visual Studio 2015 社区。显然,如果没有加密,这是不安全的。

当我使用 https 和 SSL 证书设置 Bonobo 时,就会出现问题。我使用 makecert 和 pvk2pfx 创建了 CA 和服务器证书,并将证书安装在 Windows 商店中。该网站运行良好,我可以拉动和推动小的变化。但是,当我尝试推送一个大文件时,即使使用 Git GUI,它也会挂在消息 POST git-receive-pack 上。但是 Visual Studio 2015 社区可以正常工作!一旦我使用 VS 推送,我就可以使用 Git 将这些更改拉到另一台计算机上。这让我相信这是 Git 而不是 Bonobo 服务器的问题。

我必须做的事情是将 SSL 密钥添加到 bundle.crt 并设置 postBuffer = 524288000。我还尝试 sslVerify = false 来测试 SSL 问题,但这不起作用。我还尝试关闭我的 Windows 防火墙。

这是 Git 和 SSL 的问题吗?还有什么需要设置的吗?我是 Git 的新手,现在试图让它工作几天。目前使用 Visual Studio 是一种解决方法,但能够直接在 Windows 中使用其他 Git 客户端会很好。我有最新版本的 Git,2.7.0,我相信当我尝试 GitExtensions 时它安装了一个预发布版本,我认为是 1.9

4

1 回答 1

1

我在 Bonobo 网站上找到了解决方案。

SSL 和大型存储库

使用 SSL 并推送大型存储库时,您应该如上所述增加变量大小,如果仍然没有帮助,您应该应用以下 Microsoft 补丁 ( KB2634328 )。

我在 StackOverflow 上的任何地方都没有看到这个答案,所以希望这些信息可以帮助任何搜索这个网站的人。

于 2016-01-13T00:38:17.757 回答