文章

Git如何只拉取指定目录

Git如何只拉取指定目录

Git如何只拉取指定目录

00 前言

有的时候, 我们不需要拉取整个Git仓库(比如仓库过大), 但是又需要跟踪指定的目录中的文件(比如一个几kb的验证证书文件)的更新.

01 处理方法

1
2
3
4
# 先采用不checkout的方法去clone, 如果服务器不支持partial clone, 则会报不支持--filter, 无视即可
git clone --filter=blob:none --no-checkout https://github.com/user/repo.git
# 然后进入仓库
cd repo

启用sparse-checkout, 并启用cone模式

1
2
3
4
# 对于 Git ≥ 2.25,可以使用 cone 模式
git sparse-checkout init --cone
# 为了兼容旧版本,也可:
# git config core.sparseCheckout true

将指定目录加入sparse-checkout规则

1
2
# 只检出 gradle/sighnature文件夹
git sparse-checkout set gradle/signature/

后续要增加可以使用add(set是覆盖)

1
git sparse-checkout add gradle/signature/

之后就可以正常的拉取分支

1
git checkout repo

02 注意

直接拷贝windows的路径, 要把反斜杠替换成/, 另外文件夹路径的末尾要以/结束.

参考网页
本文由作者按照 CC BY 4.0 进行授权