错误:RPC失败; curl 92 HTTP / 2流0未完全关闭:PROTOCOL_ERROR(错误1)

时间:2019-12-11 09:25:23

标签: git push

  

错误:RPC失败; curl 92 HTTP / 2流0未完全关闭:PROTOCOL_ERROR(错误1)

我在写“ git”时尝试了“ push”。 但是,以下消息不能解决问题。

enter image description here

20 个答案:

答案 0 :(得分:26)

简单的解决方案(之后恢复为 http 2):

git config --global http.version HTTP/1.1
git push 
git config --global http.version HTTP/2

答案 1 :(得分:12)

您可能推送的数据大于postBuffer的大小。

您可以尝试使用以下方法增加发布缓冲区的大小 git config --global http.postBuffer 157286400

以供参考:https://confluence.atlassian.com/bitbucketserverkb/git-push-fails-fatal-the-remote-end-hung-up-unexpectedly-779171796.html

答案 2 :(得分:7)

XCode 11.4.1

增加git缓冲区的大小对我有用

git config --global http.postBuffer 524288000

答案 3 :(得分:6)

工作解决方案: 首先将HTTp版本更改为1.1,然后推送并完成,然后更改回HTTP2

$ git config --global http.version HTTP / 1.1 推送成功后,我再次将HTTP版本更改为2: $ git config --global http.version HTTP / 2

答案 4 :(得分:5)

git config http.postBuffer 524288000

这是最新的,应该可以解决您的问题

答案 5 :(得分:3)

在大多数情况下,增加缓冲区大小会起作用。 git config http.postBuffer 524288000 对我有用。

git config --global http.version HTTP/1.1 的使用应作为最后一个选项。

在 Windows 机器上使用 gitbash 终端(如果此信息对您有任何帮助)。

答案 6 :(得分:2)

我遵循了大部分答案,但没有解决我的问题。

就我而言,答案很简单

我在通过 ADSL 宽带 Wi-Fi 网络推送 GIT 时遇到此错误,该网络信号强度低、稳定性低且速度低。

那么, 当我通过具有更强信号强度、更高稳定性和更高速度的光纤宽带 Wi-Fi 网络将其推入 GIT 时,我能够非常成功地将其推入。

错误:

enter image description here

答案 7 :(得分:2)

这对我不起作用。但是可以将 HTTP 的版本从 2 降级到 1.1:

$ git config --global http.version HTTP/1.1

在它推送之后,我再次将 HTTP 版本更改为 2:

$ git config --global http.version HTTP/2

答案 8 :(得分:2)

在大多数情况下,git config http.postBuffer 524288000 应该可以工作。

就我而言,我在 yarn.lock/package-lock.json 文件中推送了大量更改(我更改了很多包,因此更新了很多行)。由于通常不需要它,删除它会使错误消失。 所以如果你正在使用 Javascript,你也可以试试这个

答案 9 :(得分:1)

对我来说只是这样

server {
    listen 443 ssl http2 default_server;
    ...
    location / {
         ...
         proxy_request_buffering off;
         ...
    }
}

答案 10 :(得分:1)

对我来说这是有效的:

git checkout --orphan newBranch
git add -A  # Add all files and commit them
git commit -am "Clean Repo"
git branch -D master  # Deletes the master branch
git branch -m master  # Rename the current branch to master
git push -f origin master  # Force push master branch to github

感谢:https://panjeh.medium.com/cleaning-up-git-github-repository-without-deleting-git-directory-c86b7415b51b

但是我的问题略有不同,“包已经打包”信息与 RPC::HTTP/2 流未完全关闭消息

答案 11 :(得分:0)

遵循这里一些人的建议:

git config http.postBuffer 524288000
git push

导致错误:

remote: error: See http://git.io/iEPt8g for more information.
remote: error: File public/img/layout/group-photo.psd is 184.91 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

因此,就我而言,这更多是文件问题,而不是网络连接问题。 将大文件移出项目并继续提交并推送整个项目。

答案 12 :(得分:0)

听起来您正在使用的远程服务器或某些中间盒(例如代理)未正确说出HTTP / 2协议。您可以通过要求该远程服务器或中间盒的所有者来修复其服务器来解决此问题,也可以强制使用HTTP / 1.1。

如果要强制使用HTTP / 1.1,可以将http.version配置选项设置为HTTP/1.1。也可以按照http.<url>.*手册页的git-config部分中的说明,针对每个URL进行设置。

答案 13 :(得分:0)

我也遇到过类似的情况。我试过了;

git config --global http.version HTTP/1.1  
git config --global http.postBuffer 157286400
git config --global http.postBuffer 524288000

偶数,

git config --global core.compression 0  

failed example

但是,什么都没有改变。我有两个文件夹出现此错误。一个大小为 10MB,一个大小为 65MB。

终于。 我尝试使用光纤连接。

worked proof

所以是的。尝试使用不同的、更高速度的连接。可能会奏效。

祝你好运!

答案 14 :(得分:0)

如果您的错误与尝试推送大文件有关(在我的情况下有该错误消息),请运行:

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch {your full path file name}'

https://medium.com/@marcosantonocito/fixing-the-gh001-large-files-detected-you-may-want-to-try-git-large-file-storage-43336b983272

答案 15 :(得分:0)

试试

git push --set-upstream origin <namebranch>

答案 16 :(得分:0)

对我来说,这是由我的 nginx 配置中被遗忘的 return 444; 引起的。在 HTTP 2.0 下,连接终止导致此误导性错误消息

答案 17 :(得分:0)

在我的情况下,我必须将源重置为ssh而不是http / https:

Group

要检查您的来历,可以使用:

git remote set-url origin git@your-git.com

答案 18 :(得分:0)

您可以使用http版本1.1 https://gist.github.com/daofresh/0a95772d582cafb202142ff7871da2fc

强制执行git

答案 19 :(得分:-1)

在我的情况下,我更改了服务器(Gitlab)上的密码,但未更改本地git凭据中的密码。