我正在做一个GitHub repo项目。我已经能够"添加"承诺"承诺"了。和";push"在过去的三个月里,一切都没有问题。现在我下载了一个包含大约12gb数据的数据集,并为它创建了一个新文件夹。
我对已经在回购中的文件做了一些小的修改(3个月),并添加了"*"one_answers"提交"。和"git push"
计算并压缩对象后,Git Bash抛出以下错误:
GitHub Error: RPC failed; curl 92 http/2 stream 0 was not closed cleanly: CANCEL (err 8)
send-pack: unexpected disconnect while reading sideband packet
...
fatal: the remote end hung up unexpectedly
Everything up-to-date
这可能是在写入对象时发生的。
我已经尝试了以下操作:
- 设置GIT_TRACE_PACKET = 1
- 设置GIT_TRACE = 1
- 设置GIT_CURL_VERBOSE = 1
- git config—global http。postBuffer 100000000
- git config—global https。postBuffer 100000000
在使用上述所有解决方案的最后一次尝试之后,在写入对象的50%后抛出了这个额外的错误:
remote: fatal: pack exceeds maximum allowed size
Git Bash的错误截图
我的问题是:1。为什么会发生这种情况?2. 我怎样才能解决这个问题,并成功地将我当前的工作空间推到GitHub上?
1。为什么会发生这种情况?
- 因为您正在尝试推送一个大文件。(12gb数据集)
2。我该如何绕过/解决这个问题并成功推动我当前的工作空间到GitHub?
- 你可以使用Git大文件存储,在Git内用文本指针替换大文件,如音频样本,视频,数据集和图形,同时将文件内容存储在远程服务器上,如GitHub.com
我用这个教程绕过它解决了这个问题:
https://githowto.com/removing_commits_from_a_branch
注意:记得在继续之前复制一份代码。你仍然可以返回,因为你没有删除提交,但是当你必须遵循教程两次时,这很烦人。
ALSO: git hist命令是一个别名。这是我复制的:
git config --global alias.hist "log --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green)[%h]%C(reset) | %C(red)%s %C(bold red){{%an}}%C(reset) %C(blue)%d%C(reset)' --graph --date=short"
链接:https://gist.github.com/ecasilla/9669241