git 远端意外挂断了

fatal: 远端意外挂断了
git config http.postBuffer 100000000
将数据POST到远程系统时,智能HTTP传输使用的缓冲区的最大大小(以字节为单位).对于大于此缓冲区大小的请求,将使用HTTP/1.1和Transfer-Encoding:chunked来避免在本地创建大型打包文件.默认值为1 MiB,足以应付大多数请求.

https://www.it1352.com/2100612.html



https://www.thinbug.com/q/51509217



写入对象中: 100% (2301/2301), 2.18 MiB | 845.00 KiB/s, 完成.
总共 2301(差异 1146),复用 1081(差异 497),包复用 0
error: RPC 失败。curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
fatal: 远端意外挂断了
fatal: 远端意外挂断了



https://www.cnblogs.com/qinStore/p/11971560.html



git config –global http.version HTTP/1.1
https://stackoverflow.com/questions/59282476/error-rpc-failed-curl-92-http-2-stream-0-was-not-closed-cleanly-protocol-erro/65442076



http2本身的bug。
解决方式



(推荐)直接换掉Git的http版本
git config –global http.version HTTP/1.1
https://www.cnblogs.com/jimoliunian/p/14743751.html



写入对象中: 100% (2301/2301), 2.18 MiB | 880.00 KiB/s, 完成.
总共 2301(差异 1146),复用 1081(差异 497),包复用 0
error: RPC 失败。curl 55 SSL_write() returned SYSCALL, errno = 32
fatal: 远端意外挂断了
fatal: 远端意外挂断了



% git config –global http.version HTTP/2
% git push https://github.com/xiazemin/MyBlog.git master



https://stackoverflow.com/questions/63504199/error-push-git-to-gitlab-error-rpc-failed-curl-92-http-2-stream-0-was-not-clos



https://gist.github.com/daofresh/0a95772d582cafb202142ff7871da2fc
https://blog.csdn.net/wjk_along/article/details/104423443



curl 55 SSL_write() returned SYSCALL, errno = 32



https://stackoverflow.com/questions/65420397/github-push-fails-with-rpc-failed-curl-55-ssl-write-returned-syscall-errno



https://github.com/curl/curl/issues/3593



设置完了发现还是不起作用
% vi ~/.gitconfig



发现多了项gitconfig http_proxy,干掉就好了



git gc –aggressive
https://qastack.cn/programming/15240815/git-fatal-the-remote-end-hung-up-unexpectedly



git gc –aggressive –prune



https://blog.csdn.net/yjl2055/article/details/101072073



Git的底层并没有采用 CVS、SVN 底层所采用的那套增量式文件系统,而是采用一套自行维护的存储文件系统。当文件变动发生提交时,该文件系统存储的不是文件的差异信息,而是文件快照,即整个文件内容,并保存指向快照的索引。这种做法,提高 Git 分支的使用效率;但也容易导致代码仓库中内容重复程度过高,从而仓库体积过大。当遇到这种情况时,或者需要将仓库推送到远程主机时,就需要Git中的gc(garbage collect)功能,也就是垃圾回收功能。



大体来说,当运行 “git gc” 命令时,Git会收集所有松散对象并将它们存入 packfile,合并这些 packfile 进一个大的 packfile,然后将不被任何 commit 引用并且已存在一段时间 (数月) 的对象删除。 此外,Git还会将所有引用 (references) 并入一个单独文件。
https://www.cnblogs.com/qiyuexin/p/12792381.html



git prune
https://git-scm.com/docs/git-prune



Prune all unreachable objects from the object database
unreachable objects 指的是.git\objects中没有被使用的hash文件



https://blog.csdn.net/fanyuna/article/details/81081958


Category web