我试图git克隆LibreOffice代码库,但目前我有一个大约300kbps的互联网连接,它只是什么都不稳定。我可以在任何时候恢复连接,但是git克隆进程已经停止工作,没有办法让它再次运行。有没有什么方法可以让git克隆下载更具抗失败性?
我自己考虑的一个选择是下载别人的.git目录,但这过于依赖他人,对我来说似乎不是最好的解决方案。
我试图git克隆LibreOffice代码库,但目前我有一个大约300kbps的互联网连接,它只是什么都不稳定。我可以在任何时候恢复连接,但是git克隆进程已经停止工作,没有办法让它再次运行。有没有什么方法可以让git克隆下载更具抗失败性?
我自己考虑的一个选择是下载别人的.git目录,但这过于依赖他人,对我来说似乎不是最好的解决方案。
当前回答
您可以尝试在hg-git扩展中使用mercurial。
如果这不起作用,你可以使用git fetch <commit-id>来获取远程git存储库的一部分(你可以获取一个空的git存储库,没有必要使用clone来创建它)。但是当您使用这种方法时,您可能需要纠正分支配置(=创建本地和远程跟踪分支)。
其他回答
这个问题也困扰着我。对我来说,有一个变通办法。它可能适用于你,也可能不适用。
我有时会使用手机在远程系统上启动git操作。如果我的wi-fi断了,会话当然会结束,git会放弃整个克隆操作而不恢复。但是由于从我的远程系统到git master的互联网连接是可靠的,所以没有必要让克隆停止。我所需要的只是从终端会话分离克隆的常识。这可以通过使用screen/tmux或nohup/daemon来完成。所以在我的情况下,这是一个生活设备故障。
对我来说最有效的解决方法是:
我也遇到过同样的问题,因为网络连接不好。所以我想出了以下解决方案:
我在服务器上创建了一个小的php文件,以zip文件的形式下载包:
<?php
$url = "https://codeload.github.com/CocoaPods/Specs/zip/master";
file_put_contents("coco.zip", fopen($url, 'r'));
?>
<a href="coco.zip">coco.zip</a>
然后使用任何支持恢复的下载管理器下载zip文件。
增加缓冲区大小将有助于解决这个问题。按照步骤做就可以了。
打开终端或Git Bash,用cd到你想克隆repo的位置。 将压缩设置为0 Git配置——global core.compression 0 设置postBuffer大小 Git配置——global http。postBuffer 1048576000 设置maxRequestBuffer大小 Git配置——global http。maxRequestBuffer 100 现在开始克隆 Git克隆<repo url> 等待克隆完成。
使用一个git代理,比如ngitcached或者git-proxy。
如果你可以访问第三方服务器,你可以克隆那里,然后复制。