Git 从远程存储库获取下一个N次提交

Git 从远程存储库获取下一个N次提交,git,Git,我将尝试从大型远程存储库(Linus的Linux主存储库)中提取,由于连接不良,提取总是在某个点失败(例如,由于远程端放弃)。由于回迁要么全是,要么全是,当我再次尝试时,我必须从头开始 如果我只是尝试一次获取几个新的提交,它应该可以工作 是否有一个简单的命令只获取下一个N个提交(从我的本地头) 我见过浅层存储库的--depth和--depth选项,但这不是浅层存储库(而且IUUC的工作方式与我的建议相反:获取N条最新的注释,而不是获取N条最早的注释)。如果无法下载,请先检查(可以随意恢复)将re

我将尝试从大型远程存储库(Linus的Linux主存储库)中提取,由于连接不良,提取总是在某个点失败(例如,由于远程端放弃)。由于回迁要么全是,要么全是,当我再次尝试时,我必须从头开始

如果我只是尝试一次获取几个新的提交,它应该可以工作

是否有一个简单的命令只获取下一个N个提交(从我的本地头)


我见过浅层存储库的
--depth
--depth
选项,但这不是浅层存储库(而且IUUC的工作方式与我的建议相反:获取N条最新的注释,而不是获取N条最早的注释)。

如果无法下载,请先检查(可以随意恢复)将repo Linux作为(然后从捆绑包本地克隆)

见“

wget-c
”,它告诉
wget
继续中断下载。
如果您的连接重置,只需在同一目录中重新运行同一命令,它就会从中断的地方恢复:


一旦有了任何克隆,就可以获取下一个标记:
git-fetch-origin v4.13-rc7
git-fetch-origin v4.13
。。。那是不是太大了


PS:如果您需要较小的步骤,hou可以搜索具有
uploadpack.allowareachablesha1inwant
uploadpack.allowAnySHA1InWant
ebabled的存储库,并通过哈希进行获取,您可以从github的UI中找到该存储库。

未测试:对要获取的存储库进行浅层
--mirror
克隆。将浅层克隆构建到适当的深度(不管是什么深度),然后从浅层镜像获取。我已经在更好的连接上成功克隆了repo(事实上我使用了上面的捆绑方法)-这是关于从上次提取后获取对象,而不是从头开始重新下载repo(这真的会杀了我)。从实际的远程获取(在您当前的本地repo中完成)将只获取新的提交。这是您想要的,不是吗?是的,我只想要新的提交,在良好的连接上,这将是一个简单的
git pull
git fetch
离开。然而,由于我已经几个月没有获取了,结果是对象和引用数达到了100s MB,然而,这是反复失败的。So我不想一次抓到我丢失的10000个提交,我想得到我丢失的最老的100个,然后是下一个100个,等等。就像我回到过去,更频繁地抓到一样(我应该这么做)@BeeOnRope然后我的答案是:下载捆绑包,并从中获取:您可以直接从捆绑包获取新提交。是的,这是可能的,但它等于从头开始下载整个存储库(但是的,至少它是可恢复的)但是,这超过了1GB,而且随着它变得越来越大,我想这种方法将无法扩展。我无法检查它现在有多大,因为链接已被301移动,重定向
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle
是404。谷歌的简短搜索没有找到新的位置。
wget -c https://cdn.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle
git bundle verify clone.bundle
...
clone.bundle is okay

git clone clone.bundle linux

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