我对github的互联网速度从来都不快,并且它以50kb / s的速度挥之不去(我的互联网速度是20mbit,这不是很快,但仍然比这快得多)。根据我的估计,存储库是多gb,因此需要很长时间。
git是否支持使用multiple-threads下载对象,这样我可以最大化我的网速?
您可以使用浅克隆(意味着不克隆所有历史记录)至少尝试并缓解此问题:
git clone --depth 1 <repository>
确保有一个git 1.9+,正如我在“Is git clone --depth 1
(shallow clone) more useful than it makes out?”中所解释的那样。
注意:Git 2.5(2015年第二季度)甚至支持单次提取提交!请参阅“Pull a specific commit from a remote git repository”。
试试git config --global http.postBuffer 524288000
。
git clone --jobs
如果您有多个子模块,这可能会有所帮助:
-j <n>
,--jobs <n>
同时获取的子模块数。默认为
submodule.fetchJobs
选项。
在commit 72290d6上的v2.9。0(2016年3月)添加:
clone:允许并行子模块克隆的显式参数
我想知道如果你在一台服务器上有两个模块,这是否会有所帮助。 GitHub上的TODO基准测试。
如果您有来自不同服务器的子模块,那肯定应该。
我想知道Git是否足够聪明,可以在给定时间尽可能多地从不同的服务器获取,而不是可能将所有作业一次性地放在一台服务器上。
我在Windows下看到了类似的行为,其原因是Windows反病毒被设置为非常激进并且git正在传输大量小文件。双启动到Linux为git克隆提供了全速。
如果你有这些规范考虑创建一个测试Windows安装(例如虚拟使用VirtualBox或vmware播放器),你从头开始安装一个原始Windows,只添加必要的git软件。然后,您可以查看问题是“内部”还是“外部”git。我的个人猜测是这会很快。