我在BitBucket上有一个超过4GB的GIT存储库.
我无法使用普通的GIT命令克隆存储库,因为它失败了(看起来它工作了很长时间但后来又回滚).
我也无法从BitBucket界面下载存储库作为zip:
Feature unavailable This repository is too large for us to generate a download.
Run Code Online (Sandbox Code Playgroud)
有没有办法逐步下载GIT存储库?
1)您可以最初下载只有最新提交修订版(深度= 1)的单个分支,这将显着减少要下载的存储库的大小,并且仍然可以让您在代码库上工作:
git clone --depth <Number> <repository> --branch <branch name> --single-branch
Run Code Online (Sandbox Code Playgroud)
例子:
git clone --depth 1 https://github.com/dundermifflin/dwightsecrets.git --branch scranton --single-branch
2)稍后您可以获得所有提交(在此之后您的回购将处于与git clone之后相同的状态):
git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)
或者如果它仍然太多,只获取最后 25 次提交:
git fetch --depth=25
Run Code Online (Sandbox Code Playgroud)
其他方式: git clone
不可恢复,但您可以先git clone
在第三方服务器上,然后通过 http/ftp 下载完整的 repo,这实际上是可恢复的。
对我来说,完美的帮助,如此答案中所述:https : //stackoverflow.com/a/22317479/6332374,但由于回购量大,因此有一点改进:
首先:
git config --global core.compression 0
然后,克隆您的仓库中的一部分:
git clone --depth 1 <repo_URI>
现在是“其余”
git fetch --unshallow
但这是诀窍。:当您有大量回购时,有时必须多次执行该步骤。所以...再次
git fetch --unshallow
等等。
尝试多次。可能您会看到,每次执行“ unshallow”操作时,您都会在错误发生之前获得越来越多的对象。
最后,请确保。
git pull --all
我通过使用此方法使其正常工作fatal: Early EOF fatal: index-pack failed
但只有在我设置了 SSL 之后,此方法仍然无法通过 HTTP 运行。
BitBucket 的支持非常有帮助,并为我指明了这个方向。
归档时间: |
|
查看次数: |
10964 次 |
最近记录: |