如果您处于不可靠的互联网连接状态,并且需要执行 Linux.git 的全新克隆,如果您的连接在完成克隆之前重置,您可能会发现很难做到这一点。目前没有办法使用 git 恢复 git 克隆,但您可以利用一个巧妙的技巧来代替直接克隆——使用 git bundle 文件。
以下是具体操作方法。
从 "wget -c" 开始,这会告诉 wget 继续中断的下载。如果您的连接重置,只需在同一目录下重新运行相同的命令,它就会从中断的地方继续。
wget -c https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle
接下来,从捆绑包中克隆
git clone clone.bundle linux
现在,将源指向实时的 git 仓库并获取最新更改
cd linux git remote remove origin git remote add origin https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git pull origin master
完成此操作后,您可以删除 "clone.bundle" 文件,除非您认为将来还需要再次执行全新克隆。
"clone.bundle" 文件每周日生成,因此它们应该包含您所需的大多数对象,即使在内核合并窗口期间(此时每天都有大量更改提交)。