我试图git克隆LibreOffice代码库,但目前我有一个大约300kbps的互联网连接,它只是什么都不稳定。我可以在任何时候恢复连接,但是git克隆进程已经停止工作,没有办法让它再次运行。有没有什么方法可以让git克隆下载更具抗失败性?
我自己考虑的一个选择是下载别人的.git目录,但这过于依赖他人,对我来说似乎不是最好的解决方案。
我试图git克隆LibreOffice代码库,但目前我有一个大约300kbps的互联网连接,它只是什么都不稳定。我可以在任何时候恢复连接,但是git克隆进程已经停止工作,没有办法让它再次运行。有没有什么方法可以让git克隆下载更具抗失败性?
我自己考虑的一个选择是下载别人的.git目录,但这过于依赖他人,对我来说似乎不是最好的解决方案。
当前回答
让我们把git克隆分解成它的组成部分,并使用git签出来防止重新下载文件。
当git克隆运行时,它所做的前几件事等同于
git init
git remote add origin <repo_url>
git fetch origin <branch>
如果您手动运行上述步骤,并假设它们正确完成,您现在可以根据需要多次运行以下步骤:
git checkout --force <branch>
请注意,每次运行时它都会检出所有文件,但您不必重新下载文件,这可能会节省大量时间。
其他回答
对我来说最有效的解决方法是:
我也遇到过同样的问题,因为网络连接不好。所以我想出了以下解决方案:
我在服务器上创建了一个小的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 clone --depth <Number> <repository> --branch <branch name> --single-branch
这个命令帮助了我(感谢尼古拉·帕鲁奇)
例如
git clone --depth 1 https://github.com/gokhanmoral/siyahkernel3 --branch ics --single-branch
您可以尝试在hg-git扩展中使用mercurial。
如果这不起作用,你可以使用git fetch <commit-id>来获取远程git存储库的一部分(你可以获取一个空的git存储库,没有必要使用clone来创建它)。但是当您使用这种方法时,您可能需要纠正分支配置(=创建本地和远程跟踪分支)。
该方法使用第三方服务器。
首先,做 Git克隆——裸的,然后 rsync -v -P -e ssh user@host:repo。git。 Windows下可以使用msys。
增加缓冲区大小将有助于解决这个问题。按照步骤做就可以了。
打开终端或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> 等待克隆完成。