有人可以提一下如何恢复同步命令吗?
我按照以下步骤操作: $ repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair $ repo sync
同步耗时超过6小时,由于带宽不足,我不得不自行终止同步。有什么办法可以恢复上次会话的同步吗?我可以看到创建了以下文件夹:
bionic.git 启动 build.git cts.git 还有更多....
我一天只能使用6小时的免费带宽,而且我必须在这段时间内进行同步。 任何帮助都非常感谢。
答案 0 :(得分:6)
“repo”由176个“项目”组成,其中一些非常大(> 100k的对象) 如果某些项目已完全下载,您只能恢复同步,但其他项目则不能。 但是你无法恢复一个大项目的中断同步。这是一个Git手册:
克隆大型存储库时(例如 作为KDE,Open Office,Linux内核) 目前无法重启 一个中断的克隆。可能需要 用户在相当长的时间 下载一个小管道的结尾 数据,以及克隆是否被中断 在用户当前需要的中间 从头开始重新开始 再试一次。对于一些用户,这可能 无法克隆一个大的 库中。
所以,如果你真的想把这些文件传输到你的机器上 - 你最好从网络中访问一些shell,在那里传输文件,然后用一些可重启的方法同步你的本地PC和那个远程shell,例如RSync。
甚至可以远程压缩一个大档案中的所有内容,并使用您喜欢的下载管理器将其下载到您的计算机上。
答案 1 :(得分:4)
如上所述,repo用于管理几个较小的项目(其中一些非常大)。但您不必重新下载已完成下载的项目。但是,您必须重新启动正在下载的项目。
输入:
repo sync
再次,它将检查您已经下载的项目是否有任何更新,如果是,请下载它们,然后从下一个下载的项目开始。如果一个项目花费的时间超过你指定的下载时间(听起来像是6小时),你需要找到一个更快/不同的连接来下载它。
答案 2 :(得分:3)
一个选项是一次同步一个或两个项目。
repo sync Proj1 Proj2
通过这种方式,您可以控制同步的内容以及是否完全完成。要获得项目的完整列表,请浏览 .git 目录,并在每个项目上手动执行repo sync
。
答案 3 :(得分:3)
我遇到了同样的问题所以我创建了一个脚本,它完全按照之前的说法执行,一次下载1个项目,直到完成所有操作。
无需解释您只需要执行repo init,然后在创建.repo的文件夹中运行此脚本。
它将下载所有项目并创建一个记录每个项目状态的日志。
如果发生错误,将会记录。
如果再次运行该脚本,它将读取日志文件并尝试首先下载“错误”项目。
请看一下: http://shellswissknife.blogspot.com/2013/03/long-repo-sync.html