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

时间:2018-01-22 00:13:39

标签: git

我将尝试从大型远程存储库(Linus的Linux主服务器)中提取,并且由于连接不良,提取总是在某些时候失败(例如,由于远程端放弃)。由于取件是全有或全无,当我再试一次时,我必须从头开始。

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

是否有一个简单的命令只能获取下一个N次提交(来自我的本地HEAD)?

我已经看到了浅层存储库--depth--deepen选项,但这不是一个浅薄的存储库(IUUC它们从我的建议中向后工作:获取N个最新的注释,而不是让N最老的。)

2 个答案:

答案 0 :(得分:1)

首先检查您是否无法下载(以某种方式,您可以随意恢复)repo Linux作为 bundle (然后从捆绑中本地克隆)

请参阅“Cloning Linux from a bundle

wget -c https://cdn.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle
  

wget -c”,告诉wget继续中断下载   如果您的连接重置,只需在同一目录中重新运行相同的命令,它将从中断处继续:

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

答案 1 :(得分:0)

一旦你有了克隆,你就可以获取下一个标签:git fetch origin v4.13-rc7git fetch origin v4.13 ......这个步骤太大了吗?

PS:如果您需要更小的步骤,那么侯可以搜索具有uploadpack.allowReachableSHA1InWantuploadpack.allowAnySHA1InWant ebabled的存储库,并通过哈希获取,您可以从github的UI中找到。