更新 README.md
This commit is contained in:
parent
7afe42912e
commit
b39e7a1b80
@ -1,9 +1,10 @@
|
|||||||
## 使用 Git 克隆远程仓库部分目录
|
## 使用 Git 克隆远程仓库部分目录
|
||||||
|
|
||||||
|
过滤掉 blob 对象,只下载 tree,开启稀疏检出模式
|
||||||
```
|
```
|
||||||
git clone --filter=blob:none --sparse https://远程仓库地址.git
|
git clone --filter=blob:none --sparse https://远程仓库地址.git
|
||||||
```
|
```
|
||||||
|
稀疏检出目标目录
|
||||||
```
|
```
|
||||||
git sparse-checkout set 你需要克隆的目录名称/
|
git sparse-checkout set 你需要克隆的目录名称/
|
||||||
```
|
```
|
||||||
@ -14,4 +15,4 @@ Git 对象数据库存储三种信息:
|
|||||||
- tree:目录结构(文件夹)
|
- tree:目录结构(文件夹)
|
||||||
- commit:快照、元数据、父提交
|
- commit:快照、元数据、父提交
|
||||||
|
|
||||||
每一次 commit 都会生成一个 SHA-1 哈希值,三种数据对象通过哈希值相互引用,形成了一个 DAG(有向无环图)构成 Git 版本历史。但是 Git 对象数据库是不存在物理删除的,即便你将源文件删了(除非删库)。这就是为什么 commit 越多,仓库克隆也越来越慢的原因,如果被克隆的仓库存放大量文档,克隆就更慢了,因为对象数据库里的 blob 对象太大了。自 2.25+ 版本开始支持浅层克隆,可以仅克隆远程仓库部分目录,缓解问题。
|
每一次 commit 都会生成一个 SHA-1 哈希值,三种数据对象通过哈希值相互引用,形成了一个 DAG(有向无环图)构成 Git 版本历史。但是 Git 对象数据库是不存在物理删除的,即便你将源文件删了(除非删库)。这就是为什么 commit 越多,仓库克隆也越来越慢的原因,如果被克隆的仓库存放大量文档,克隆就更慢了,因为对象数据库里的 blob 对象太大了。自 2.25+ 版本开始支持稀疏检出,可以仅克隆远程仓库部分目录,缓解问题。
|
||||||
Loading…
Reference in New Issue
Block a user