一个 git 学习站
不需要 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