问题
我正在尝试从bitbucket
克隆,但失败了。
其他stackoverflow帖子
我已经查看了其他stackoverflow帖子,但没有成功。具体而言:
shallow/unshallow
没有起作用。PostBuffer
增加到1 gb
也没有起作用。core.compression
已经是0
,表示已禁用,但它没有起作用。
使用cmd进行克隆
我尝试使用--depth 1
和--unshallow
进行克隆,但它没有起作用。
当尝试使用git pull --all
时,它会出现以下错误:
使用Eclipse(Spring Toolsuite 3)进行克隆
然后,我尝试使用Eclipse(Spring IDE)使用ssh
进行克隆,但仍然失败,并显示以下错误:
这似乎是由于历史记录中存在某个大对象引起的。
问题
- 如果我因为历史记录中有一个大对象而出现此错误,我可以删除吗?如何做到这一点?
- 这是我使用的
git
客户端的限制,还是Bitbucket
存储库主机的限制? - 我应该尝试使用其他
git
客户端来克隆/拉取存储库吗?
更多信息
使用git config --list
查看Git配置。
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=[CERT FILE]
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.email=[EMAIL]
user.name=[NAME]
winupdater.recentlyseenversion=2.23.0.windows.1
core.compression=0
http.postbuffer=1048576000
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=[URL]
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
这个代码仓库没有使用 LFS
一个我遇到的建议是使用一个旧版本
的 Eclipse,它可以成功地进行克隆。为什么呢?
Eclipse(sts)中的错误详情如下:
![enter image description here](https://istack.dev59.com/swVJ5.webp)
Spring Tool Suite 4.4.0也出现了上述错误,环境细节如下:
Java 是 64 位的
一些发现 / 结论
STS
的错误是由于其中使用的JGit
作为 Git 客户端存在大小限制,据我所知如果我使用
cmd
中的 Git,或者甚至使用另一个客户端sourcetree
,那么就不会出现该错误。在这种情况下,错误是另一种,内容如下:fatal: pack has bad object at offset 90599582: inflate returned 1
fatal: index-pack failed
Eclipse Oxygen 能够成功克隆。但是背后发生了什么并不清楚。