当我试图逃跑的时候

git push origin master --force

我刚刚

Counting objects: 2649, done.
Delta compression uses up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

这和缺乏安全感有关吗?我尝试创建一个公钥作为致命的答案:远程端意外挂断并重新运行它,但它仍然不工作。我不是在用钥匙吗?如果是,我该如何使用它?


当前回答

添加一个答案似乎是毫无意义的,但是当我最终发现它是Visual Studio Online正在遭受零星的停机时,我一直在努力解决这个问题。当VS不断提示积分时,这一点变得很明显,VSO网站有时会给出500分。

Counting objects: 138816, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (38049/38049), done.
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
The remote end hung up unexpectedly/138816), 33.30 MiB | 3.00 KiB/s
Writing objects: 100% (138816/138816), 50.21 MiB | 3.00 KiB/s, done.
Total 138816 (delta 100197), reused 134574 (delta 96515)
fatal: The remote end hung up unexpectedly
Everything up-to-date

后来我把我的HTTP帖子缓冲区设置回2 MB,因为我认为它对许多较小的帖子工作得更好。

其他回答

在我们的案例中,问题是一个克隆程序编写了一个.git/config文件,其中包含一个url条目,该url条目是一个只读访问方法。将url从://方法更改为@方法解决了这个问题。

运行git remote -v可以解释这个问题。

1) CD到项目总监

2) 进入状态

3) git checkout -f HEAD

4)确认成功下拉大师再次确保你是最新的,如果你的回购看起来不完整

如果你在从Bitbucket克隆一个repo时从Visual Studio的Git中得到错误,这是有效的

我在上传一个大型回购时也遇到过类似的错误,“致命:远程端意外挂起”,没有任何进一步的细节。

在做了大量研究之后,我是这样做的:

使用SSH代替HTTPS并不能解决问题。 增加http。postBuffer增量到一个很大的值,仍然是no 运气。 我想这可能是因为大文件在 回购(因为这是从perforce新迁移的回购),所以我使用LFS重新创建了回购,将largeFileThreshold设置为40m,这大大降低了回购大小(从3.5G到500M)。 我原以为这样就能解决问题,但令我吃惊的是,我还是犯了同样的错误。

最后,我突然想到,我可能正在使用一个旧的git客户端,因为我没有看到额外的错误消息。 我把git客户端升级到最新版(2.20.1),瞧,错误消失了!

这是由于git/https缓冲区设置。

运行这个(从Git中获取的文件在提交到github时失败):

git config http.postBuffer 524288000

然后,再次运行原来的命令。

这看起来类似于我如何让github默认为ssh,而不是https的新存储库。 也许从http协议切换到ssh协议是值得的:

$ git remote add origin git@github.com:username/project.git