当我直接将内核下载为 typetar.xz并解压时,大小约为 1GB。但是当我git clone从这里下载它时,大小约为 7GB。它只显示主分支。为什么会有如此巨大的差异?
Ste*_*itt 23
tarball 只包含 tarball 中内核特定版本的源代码,而 git 存储库(使用 克隆git clone)包含内核的历史可以追溯到很长一段时间。即使您在最初克隆它时只看到 master 分支,使用默认克隆参数,您实际上在本地拥有完整的存储库:git log将显示完整的历史记录,git branch --remote将显示所有可用的分支。
如果你只想要最新的提交,你可以使用一个更小的浅克隆:
git clone --depth 1 ...
Run Code Online (Sandbox Code Playgroud)
或者如果你想要一个特定的日期,
git clone --shallow-since=...
Run Code Online (Sandbox Code Playgroud)
您可以将其与特定分支或标签结合起来,以仅下载该分支的提示或该标签:
git clone --depth 1 --branch v4.10-rc4 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-4.10-rc4
Run Code Online (Sandbox Code Playgroud)
这将使用 947MiB(和 159MiB 下载)生成一棵树。