使用 Eclipse Neon 克隆巨大的 16 GB Git 存储库

Clone huge 16 GB Git repo with Eclipse Neon

有什么方法可以使用最新 Eclipse Neon 的 Git 集成克隆一个巨大的 Git 存储库(16+ GB)?

我正在通过 HTTP 连接进行克隆

首先,我 运行 设置超时,但随后在 Eclipse 配置中将 远程连接超时 增加到 1800 秒。

然后克隆就差不多完成了,但是到最后总是提示我EOF过早.

我也将 http.postBuffer 增加到 524288000(正如许多用户在 Whosebug 上建议的那样),但这并没有多大帮助。

我也试过只克隆 master b运行ch,但我还是遇到了同样的错误信息。

难道 EGit 无法通过 HTTP 处理这么大的 repo 吗?

你真的有一个 16GB 的代码项目吗?太疯狂了,伙计!

我认为最轻松的方法是打开 shell 并输入 git clone http://my-url/project.git。然后尝试看看是否可以将存储库缩小一些。

根据你想对 repo 做什么,浅克隆可能是解决方案(它不会带来完整的 git 历史):https://www.perforce.com/blog/141218/git-beyond-basics-using-shallow-clones

还有,对于这么大的repo,以后考虑使用git lfs:https://git-lfs.github.com/

最后,我看到许多巨大的 git 存储库变得如此之大,因为有一些不应该保存在 git 上的文件(可执行文件、二进制文件、视频、音频、等等)。如果错误地发生了类似的事情,您可以使用 filter-branch 将其从历史记录中删除。检查这个答案:How to remove/delete a large file from commit history in Git repository? or this github article https://help.github.com/articles/remove-sensitive-data/

编辑:

Microsoft 一直在开发 GVFS 可能会在不久的将来成为解决方案(我认为它还没有准备好,但我还没有测试过)

克隆如此庞大的 Git 存储库的唯一 Git-related 方法是通过最近(2017 年 2 月)GVFS (Git Virtual File System).

作为 tweeted,对于 270GB 的存储库:

“The Windows codebase has over 3.5M files. With GVFS (Git Virtual File System), cloning now takes a few minutes instead of 12+ hours.”

参见 github.com/Microsoft/GVFS
GVFS 基于 Git fork: github.com/Microsoft/git.
并且基于规格为 described here.

的协议

EGit 尚不支持,目前甚至 Git 还不支持。

最终,我使用 SSH 连接克隆了存储库。

即使在 Eclipse 中(使用 EGit)也能正常工作。

我必须在 Eclipse 属性中创建 SSH 密钥,因为 Putty 的 PPK 格式与 Eclipse 不兼容。然后,我设法克隆了整个存储库。

似乎 HTTP 不适合下载超过 16 GB 的块。 :)