我试图git克隆LibreOffice代码库,但目前我有一个大约300kbps的互联网连接,它只是什么都不稳定。我可以在任何时候恢复连接,但是git克隆进程已经停止工作,没有办法让它再次运行。有没有什么方法可以让git克隆下载更具抗失败性?

我自己考虑的一个选择是下载别人的.git目录,但这过于依赖他人,对我来说似乎不是最好的解决方案。


当前回答

如果我们假设服务器有良好的带宽(并且你有一个服务器),另一个答案是:

使用服务器端Git包装器创建自己的服务器 在您的服务器中克隆它 使用服务器端Zip Archiver's进行压缩 从服务器端简历下载

但这只适用于非常基本的web开发经验;) 此外,你还需要在你的服务器上安装git.exe

其他回答

我想到的两种解决方案(或者说是变通方法)是:

Use shallow clone i.e. git clone --depth=1, then deepen this clone using git fetch --depth=N, with increasing N. You can use git fetch --unshallow (since 1.8.0.3) to download all remaining revisions. Ask somebody to bundle up to some tagged release (see git-bundle(1) manpage). The bundle itself is an ordinary file, which you can download any way, via HTTP/FTP with resume support, via BitTorrent, via rsync, etc. The you can create clone from bundle, fix configuration, and do further fetches from official LibreOffice repository.

如果你可以访问第三方服务器,你可以克隆那里,然后复制。

让我们把git克隆分解成它的组成部分,并使用git签出来防止重新下载文件。

当git克隆运行时,它所做的前几件事等同于

git init
git remote add origin <repo_url>
git fetch origin <branch>

如果您手动运行上述步骤,并假设它们正确完成,您现在可以根据需要多次运行以下步骤:

git checkout --force <branch>

请注意,每次运行时它都会检出所有文件,但您不必重新下载文件,这可能会节省大量时间。

同样的问题-我有一个非常脆弱的互联网连接,通常不超过10-15 kb/秒:- p

对我来说,wget方法非常有效。

转到有“克隆或下载”绿色按钮的存储库站点,单击它并复制ZIP下载选项的链接。

然后插入到wget命令的链接:

wget -c -m -np https://github.com/your/repository/archive/master.zip

工作起来很有魅力……

“永远不要低估一只信鸽和一捆SD卡的带宽”将是这个答案的现代形式。涂上沥青,简单的cp -a,随便什么,然后把这该死的东西寄出去。找一个愿意花两分钟时间把u盘放进SASE的人。在那里找个联系人,他们甚至可以帮你。