如何克隆Git仓库的子目录:稀疏检出

一、环境

Git 2.34.1

二、前言

一般来说,我们在克隆git仓库的时候,都是一整个仓库都克隆出来的。如果假设现在有一个很大的仓库,仓库里有多个子项目,而我们只想克隆其中一个子项目的时候,应该怎么做呢?

可以使用稀疏检出(sparse checkout)功能。

注意:稀疏检出仍然需要将整个仓库下载下来,并不会缩短你的克隆时间,它只是将其它不需要的文件夹隐藏了而已

三、步骤

在这里插入图片描述
假设我们的仓库目录结构如上,repo是仓库名字,project1project2是仓库里的两个子项目,而我们现在希望只检出apple文件夹,其它的文件夹隐藏掉。

1)首先,执行以下命令克隆仓库:

git clone --no-checkout https://gitee.com/repo.git

https://gitee.com/repo.git是git仓库的地址,根据实际情况替换。因为使用了--no-checkout参数,所以克隆出来的仓库是看不到任何文件的,我们还需要执行稀疏检出操作。

2)开启稀疏检出功能:

cd repo
git sparse-checkout init

3)将apple文件夹添加到检出目录里:

git sparse-checkout set "/project1/apple/"

set命令后面可以跟多个子目录路径,例如:

git sparse-checkout set "/project1/apple/" "/project2"

如果多次执行set命令,后面的命令会覆盖前面的命令,如果不想覆盖,只是仅新增目录,可以使用add命令。

其它相关命令:

# 查看当前的稀疏检出目录有哪些
git sparse-checkout list

# 关闭稀疏检出功能
git sparse-checkout disable

# 在手动修改了.git/info/sparse-checkout文件的内容后,使修改生效
git sparse-checkout reapply

关于sparse-checkout命令更多的信息,参阅这里

4)检出

git checkout

完毕!

四、参阅

  • https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/895390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时间之外】IT人求职和创业应知【11】

认知决定你的赚钱能力。以下是今天可能影响你求职和创业的热点新闻: 今日关键字:AI【不用解释吧】 1. 尚福林:人工智能将对金融业的经营运行产生深远影响 新闻概要: 在2024金融街论坛年会上,十三届全国政协经济委员…

Oracle VirtualBox虚拟机导入VMware ESXi的方法

VDI文件导入VMware ESXi 软件版本 Oracle VirtualBox 版本7.0 VMware EXSi 5.5 VDI(Virtual Disk Image)是Oracle VirtualBox支持的虚拟磁盘格式。本次操作的VDI文件20GB左右,包含一个使用unbuntn的非结构化系统。而VMware EXSi 6.5支持的格式是OVF或VMDK。 操作步…

数据结构广度优先搜索遍历(有向图和无向图均可)(C语言代码+邻接矩阵方式+连通图和非连通图均可)

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #define MAXVEX 100//最大顶点数 typedef struct {int vexs[MAXVEX];//存储顶点的数组int matrix[MAXVEX][MAXVEX];//存储邻接矩阵的二维数组int vexnum, edgenum;//顶点数边数 }MGraph;…

医院信息化与智能化系统(3)

医院信息化与智能化系统(3) 这里只描述对应过程&#xff0c;和可能遇到的问题及解决办法以及对应的参考链接&#xff0c;并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图&#xff0c;可以试试PlantUML&#xff0c;告诉GPT你的文件结构&#xff0c;让他给你对应的…

Leetcode 最小路径和

这段代码解决的是LeetCode第64题“最小路径和”&#xff0c;其核心思想是动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;。以下是算法的具体解释&#xff1a; 1. 问题描述&#xff1a; 我们给定一个包含非负整数的 m x n 网格&#xff08;grid&…

智慧园区能带来哪些便利?

所谓智慧园区&#xff0c;是指通过信息化手段&#xff0c;实现园区内各项业务的数字化和智能化管理。园区管理者可以利用智能化平台实时监控各项运营情况&#xff0c;如能源使用、安全监控和物流运输等&#xff0c;及时调整管理策略&#xff0c;提高运营效率。智慧园区利用大数…

基于SSM+微信小程序的打印室预约管理系统(打印2)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的打印室预约管理系统实现了管理员和用户两个角色。 1、管理员功能有个人中心&#xff0c;用户管理&#xff0c;附近打印店管理&#xff0c;文件打印管理&#xff0c;当…

【配色网站分享】

个人比较喜欢收藏一些好看的插画、UI设计图和配色&#xff0c;于是有了此篇&#xff0c;推荐一些配色网站&#xff0c;希望能对自己和大家有些帮助。 1.uiGradients 一个主打渐变风网站&#xff0c;还可以直接复制颜色。 左上角的“show all gradients”可以查看一些预设的渐…

redis的发布订阅模式

1.发布订阅模式的结构 结合上图和消息中间件&#xff0c;可以将channel和消息中间件中的topic主题对应起来 2. Redis发布订阅功能 &#xff08;1&#xff09;发送消息 Redis采用PUBLISH命令发送消息&#xff0c;其返回值为接收到该消息的订阅者的数量。 &#xff08;2&#xf…

C++进阶——set和map

目录 前言 一、set 1.set的基本介绍 2.set的使用 2.1构造与迭代器 2.2插入 2.3删除 2.4查找 2.5获取需要的区间 2.6一些使用示例 3.set和multiset的区别 4.set相关oj题目 二、map 1.map的基本介绍 2.map的使用 2.1构造与迭代器 2.2增删查以及获取区间 2.3数据…

java基础:while循环-猜数字游戏(附源码)

知识点&#xff1a;while循环 参考该文&#xff1a;JAVA中while循环的使用 实践&#xff1a;猜数字游戏 通过while 判断是否正确&#xff0c; 猜中结束&#xff0c; 若猜不中&#xff0c;猜3次结束 package com.game;import java.util.Scanner;public class Game {public…

DNS安全概述

一、DNS的解析过程 1.递归解析 递归解析是一种由DNS客户端&#xff08;通常是用户的应用程序&#xff0c;如一个浏览器&#xff09;向本地DNS解析器发出解析请求&#xff0c;然后本地DNS解析器负责查询最终结果并将结果返回给客户端&#xff0c;而中间的所有查询请求都由本地D…

学习docker第四弹------docker将本地镜像发布到私有库

目录 1 是什么2 使用2.1 下载镜像2.2 运行私有库Registry&#xff0c;相当于本地有个私有Docker hub2.3 案例演示创建一个新镜像&#xff0c;ubuntu安装ifconfig命令2.3.1 从Hub上下载ubuntu镜像到本地并成功安装2.3.2 原始的ubuntu镜像是不带着ifconfig命令的2.3.3 外网连通的…

在线绘图工具drawio,visio的平替

Draw.io&#xff1a;灵活高效的在线绘图工具推荐 在工作和项目管理中&#xff0c;流程图、架构图和思维导图等可视化图表是非常重要的沟通工具。Draw.io&#xff08;现更名为diagrams.net&#xff09;是一个强大且免费的在线绘图工具&#xff0c;适用于创建各种类型的图表。它功…

ComfyUI一键更换服装:IP-Adapter V2 + FaceDetailer(DeepFashion)

在这篇文章中&#xff0c;我们将探索如何使用新版的IP-Adapter和ComfyUI软件为人物进行换装。 整个过程非常简单&#xff0c;仅需要两张图片&#xff1a;一张服装图片和一张人物图片。 通过一系列节点的操作&#xff0c;ComfyUI就会把这个服装换到人物身上&#xff0c;并利用…

施磊C++ | 进阶学习笔记 | 5.设计模式

五、设计模式 这里贴出常用的23中设计模式。视频课程仅包含部分&#xff0c;剩余部分需要找其他课程或者资料进行自学。 1.设计模式三大类型概述 C设计模式是一套被广泛认可的用于解决常见软件设计问题的最佳实践&#xff0c;它们可以帮助开发者编写更加清晰、可维护和可扩展…

小白投资理财 - 解读市净率

小白投资理财 - 解读市净率 什么是市净率公式 市净率的解释市净率的意义市净率的局限性市净率的应用场景市净率举例计算市净率如何解读分析可能的情景对比其他行业公司 市净率与其他估值指标的结合总结 什么是市净率 市净率&#xff08;Price-to-Book Ratio&#xff0c;简称 P…

飞腾X100适配Ubuntu说明

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…

强化学习的数学原理-01基本概念

state: T h e s t a t u s o f a g e n t w i t h r e s p e c t t o t h e e n v i r o n m e n t The \quad status \quad of \quad agent \quad with \quad respect \quad to \quad the \quad environment Thestatusofagentwithrespecttotheenvironment (agent 相对于环境的…

WPF 中的 StackPanel 详解

Windows Presentation Foundation&#xff08;WPF&#xff09;是微软开发的一种用于创建桌面客户端应用程序的用户界面框架。WPF 提供了一套丰富的控件和布局能力&#xff0c;使得开发者可以轻松构建出功能强大、视觉优美的用户界面。在 WPF 的布局系统中&#xff0c;StackPane…