只想克隆项目中的 Source 文件夹,而不影响其他内容

方案1:使用稀疏检出(Sparse Checkout) - 推荐

bash 复制代码
# 1. 克隆仓库但不检出文件
git clone --filter=blob:none --no-checkout git@gitcode.com:ChenChao_GitCode/UnrealEngine-5.6.1-release.git
cd UnrealEngine-5.6.1-release

# 2. 启用稀疏检出
git sparse-checkout init --cone

# 3. 设置只检出 Source 文件夹
git sparse-checkout set Source

# 4. 检出文件
git checkout

方案2:使用浅层克隆 + 稀疏检出

bash 复制代码
# 克隆并只获取 Source 目录的历史
git clone --depth 1 --filter=blob:none --sparse git@gitcode.com:ChenChao_GitCode/UnrealEngine-5.6.1-release.git
cd UnrealEngine-5.6.1-release

# 设置稀疏检出规则
git sparse-checkout set Source

方案3:如果只需要最新版本的 Source 文件夹

bash 复制代码
# 使用 git archive 直接下载 Source 文件夹
git archive --remote=git@gitcode.com:ChenChao_GitCode/UnrealEngine-5.6.1-release.git HEAD:Source | tar -x

方案4:完整克隆后删除其他文件(不推荐用于大仓库)

bash 复制代码
# 完整克隆
git clone git@gitcode.com:ChenChao_GitCode/UnrealEngine-5.6.1-release.git
cd UnrealEngine-5.6.1-release

# 删除除 Source 外的所有文件和文件夹
# 注意:这会永久删除本地文件
find . -maxdepth 1 ! -name '.' ! -name 'Source' ! -name '.git' -exec rm -rf {} +

推荐使用方案1

方案1(稀疏检出)是最佳选择,因为:

  • 只下载你需要的文件,节省带宽和存储空间
  • 保持完整的git历史记录
  • 不会影响远程仓库
  • 可以随时添加其他需要的文件夹

执行后,你的本地仓库将只包含 Source 文件夹的内容,但git仍然知道其他文件的存在,只是没有将它们检出到工作目录中。

相关推荐
一条破秋裤35 分钟前
STM32 学习笔记:PWM 驱动 LED 呼吸灯与舵机代码
笔记·stm32·学习
lingran__1 小时前
Git 完全指南(二):分支管理
git·分支管理·版本控制·团队协作·多人开发·git flow
kyrie_sakura2 小时前
python学习笔记11 -- 进程和线程
笔记·python·学习
自小吃多2 小时前
PCB Editor软件差分对添加与设置笔记
笔记·嵌入式硬件
高亦真3 小时前
今天是学习嵌入式的第34天
linux·学习·算法
必须会一定会3 小时前
Agent Handoff v0.6.0 跨电脑同步:Git、EVENTS.jsonl、CONTEXT.md 使用方法
人工智能·git·ai编程
2501_931819703 小时前
桂柳方言标注公司错误标注溯源追踪体系搭建诉求落地 桂柳方言标注公司学习信实翻译全链路追踪技术
学习·语音识别
Capricorn19884 小时前
防编造架构实战:对比 Gemini Notebook 解析知芽 Notebook Skill 的工程实现
人工智能·笔记·elasticsearch·架构·知识图谱·论文笔记
Asum1ta4 小时前
K8s 学习环境搭建:Python 与 PyCharm 开发环境配置指南
python·学习·kubernetes
知识汲取者4 小时前
FastAPI 学习教程(写给想学 FastAPI 的 Java 工程师的)
python·学习·fastapi