@TOC
一,遇到问题
提交项目时停了到这个界面很长时间...
等来的却是报错,告诉我提交失败...
报错原文
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks commit -q -F C:\Users\25924\AppData\Local\Temp\jh2zoq3f.4ns
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags --set-upstream origin master:master
POST git-receive-pack (88465735 bytes)
error: RPC failed; curl 55 Recv failure: Connection was reset
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Pushing to http://172.28.60...
Everything up-to-date
完成时带有错误,见上文。
之前一直好用的,突然不好用了,很困惑, , ,
二,尝试解决
上网查了下有几种解决方法,虽然没有解决我的问题,万一能解决你遇到的问题呢
1. 使用SSH密钥
打开方式:[工具 -> 选项 -> 一般 -> SSH客户端]
修改为OpenSSH的形式,然后上面选择你自己的SHH密钥。
PS:反正我这尝试了, 没有用. 我之前用的就是默认的, 现在两种方式选择哪一个都没有解决我遇到的这个问题。
2. 取消勾选代理服务器
打开方式:[工具 -> 选项 -> 网络]
PS:我原来就没有勾选啊,呜呜┭┮﹏┭┮...
3. 修改git配置加大httpBuffer
请看完此项再决定是否尝试此操作
在SourceTree打开命令行模式:
输入下面命令,查看自己的git配置:
git config -l
加大http.Buffer,执行下面命令后在使用 'git config -l' 命令看下, buff大小是否执行成功 ,然后再次尝试推送。
git config --global http.postBuffer 524288000
后来我发现: 这个加大buff的报错是这样的 :
RPC failed; curl ==56== Recv failure: Connection was ==reset==.
而我遇到的问题报错使这样的,
RPC failed; curl ==55== Send failure: Connection was ==aborted==
一个是链接被终止, 一个是连接被重置...
三,解决问题
使用命令行模式推送结果也是这样的, ==这说明并不是SourceTree的问题==
因为之前好用,这次提交推送莫名的不好用了, 那么我猜测有有可能是这次提交的内容有问题;
根据此推测我重新克隆了一个新的工程到本地,然后随便修改了一个文本, 然后暂存,推送一气呵成, 完全没有问题;
这次可以确定了, 就是我此次推送的内容有问题,我这次推送的出了正常的Unity工程逻辑修改, 还将Unity导出的Android工程进行了提交, 我怀疑就是这个工程内容提交时出现了问题。
上述使用SourceTree的寄存地址的GitLab, 而后我再码云上传同样的工程, 也是没有问题的。
初步结论:GitLab上传较大文件时,耗时较长,容易出现网络中断的情况,导致出现此情况。
解决方案一:上传较大文件时分批次上传。
解决方案二:使用国内代码托管码云。
若有不同见解,欢迎您留言解惑;如果你也遇到了类似问题,不妨也在评论区留言吧,以便帮助更多的同学。