Git>=2.25.0

1. Git 稀少检出(Sparse Checkout)

  1. git sparse-checkout init --cone

这个指令用于初始化稀少检出,并采用“–cone”形式。在“–cone”形式下,Git会主动依据当前所在的目录结构将存储库中的文件和目录归入稀少检出范围。换句话说,Git会依据当前检出的内容主动调整仅拉取所需的内容。

  1. git sparse-checkout set <dir1> <dir2> ...

这个指令用于手动装备稀少检出,你能够在其中指定期望检出的文件或目录。你能够列出多个目录以及使用形式匹配来指定需要的内容。这个指令答应你有更精细的操控,只拉取你感兴趣的特定文件或目录,然后节省时刻和磁盘空间。

2. Git 部分克隆(Partial Clone)

  1. git clone --filter=blob:none <url>

这个指令履行的是一种克隆操作,可是在克隆时不获取任何文件的内容,只获取提交前史。这在你只关心提交前史,而不需要文件内容的情况下十分有用。这样能够大大减少克隆所需的时刻和带宽,尤其是关于大型存储库来说。

  1. git clone --filter=tree:0 <url>

这个指令也履行的是一种克隆操作,可是与上一个指令不同的是,它获取的是文件树的信息,而不是文件的内容或提交前史。这意味着你能够看到目录结构和文件名,可是文件的内容并没有被获取。同样,这在你只关心文件结构而不需要文件内容或提交前史的情况下十分有用。

  1. git clone --depth=1 <url>

这个指令履行的是一种浅克隆操作,它会将克隆的前史深度限制为指定的数量(这里是1)。这意味着你只会得到最近的一个提交及其相关内容,而不是整个前史记录。这关于快速获取最新版本的存储库十分有用,可是需要留意的是,由于前史记录被截断了,你可能无法进行某些操作,比方查看或回溯更早的提交。