git 签出部分目录中文件

一个 git 学习站

https://learngitbranching.js.org/?locale=zh_CN

不需要 git 历史数据

优点

非常轻量,只传输你需要的文件内容。
不包含 .git 目录,适合部署或分发。

简单一些,但是 github 不允许这么操作,要使用 sparse-checkout 的方式

# 从远程仓库获取某个目录并解压,得到远程的默认分支数据,输出目录必须已经存在
git archive --remote=<repository-url> HEAD:path/to/directory | tar -x -C /your/local/path

# 从远程仓库指定分支下获得某个目录的数据,并解压到当前目录
git archive --remote=<repository-url> <branch>:path/to/directory | tar -x

需要 git 历史数据

优点

保留完整的 Git 功能(分支、历史、提交等)。
只下载你需要的文件,节省带宽和磁盘空间。
支持后续更新和切换分支。

# 1. 初始化一个空仓库
git clone --filter=blob:none --no-checkout <repository-url>
cd <repo-name>

# 2. 启用 sparse-checkout 模式
git sparse-checkout init --cone

# 3. 设置你想检出的目录
git sparse-checkout set path/to/your/directory

# 4. 检出代码
git checkout
上一篇
下一篇