我正在尝试同步以下 repo
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
进而
仓库同步
我的问题是 repo sync 卡在获取项目 99% 的位置。经过一番搜索,我发现它需要下载预构建包(~1.3G);但是我的互联网连接反复中断。
坏消息是不支持下载续传。好消息是我发现 git 内部将所有临时文件保存在一个 Packfile 中。另外,临时文件保存在 projects/prebuilt.git/objects/pack/ 中。
有人知道我该如何恢复未完成的下载吗?
答案1
一个“repo”由 176 个“项目”组成,其中一些非常大(> 100k 个对象),只有当某些项目已完全下载但其他项目尚未完全下载时,您才能恢复同步。但您无法恢复一个大项目的中断同步。这里是 Git 手册的引述:
克隆大型存储库(例如 KDE、Open Office、Linux 内核)时,目前无法重新启动中断的克隆。小管道末端的用户可能需要花费相当长的时间下载数据,如果克隆在中途中断,用户目前需要从头开始并重试。对于某些用户来说,这可能导致无法克隆大型存储库。
因此,如果您确实想将这些文件传输到您的机器 - 您最好访问网络中的某些 shell,将文件传输到那里,然后使用某些可重启的方法(例如 RSync)同步您的本地 PC 和远程 shell。
或者甚至可以远程将所有内容压缩到一个大档案中,然后使用您最喜欢的下载管理器将其下载到您的机器上。