当前位置: 首页 > news >正文

如何从github中克隆指定文件夹

一般来说,我们使用git clone <url> 是会克隆整个仓库下来的,但是某些时候我们可能只需要仓库中的某个/某几个文件夹即可,从而避免下载很多冗余的内容

Git 2.25.0 (Jan 2020)提供了sparse-checkout来实现此内容,一下给出具体代码以及注释。为了方便我将其封装成了脚本,实际运行的时候写进.sh文件中即可

#! /bin/bash
tar="$1" localdir="$2" && shift 2
# 参数定义并移除前两个参数mkdir -p "$localdir"
cd "$localdir"git clone -n --depth=1 --filter=tree:0 "$tar"
# -n 不进行文件检出 --depth=1 只克隆最近一次提交 --filter=tree:0 只克隆目录结构,不下载实际内容
rep=$(basename "$tar" .git)
# echo "$rep"
cd "$rep"git sparse-checkout init 
# 初始化 Git 的sparse-checkout,允许只检出仓库中部分目录或文件git sparse-checkout set --no-cone "$@"
# 指定要检出的文件或目录,$@给出所有参数,注意别用$*
# echo "$@"
git checkout

Usage:

./git_sparse_clone https://github.com/gutouyu/ML_CIA.git ./try "Wide&Deep" "DCN"

这里我将代码写进了git_sparse_clone.sh中,前两个参数分别指代目标仓库url以及本地要创建的仓库地址,之后是要克隆的文件夹(们),执行之后就会只克隆第三个参数起指定的目录

注意这个方法对单个文件可能没用,对应措施可以看看这里

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 打包部署若依(RuoYi)SpringBoot后端和Vue前端图文教程
  • Gitlab 中几种不同的认证机制(Access Tokens,SSH Keys,Deploy Tokens,Deploy Keys)
  • 209.长度最小的子数组(滑动窗口类)
  • Proteus 仿真设计:开启电子工程创新之门
  • 基于深度学习的信号滤波:创新技术与应用挑战
  • 计算机专业毕业设计选题指南:避开这些坑,让你轻松毕业-附选题推荐(精选题目汇总大全)
  • AutoSar AP通信的事件订阅
  • 原生 JavaScript 封装 JSONP 跨域请求
  • 【系统架构设计师-2021年真题】案例分析-答案及详解
  • [羊城杯 2020]Blackcat1
  • Cross-Encoder实现文本匹配(重排序模型)
  • 数据库DDL语句
  • linux驱动开发-ioctl
  • 基于 onsemi NCV78343 NCV78964的汽车矩阵式大灯方案
  • scroll-behavior属性与页面平滑滚动
  • ----------
  • 「译」Node.js Streams 基础
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【剑指offer】让抽象问题具体化
  • 3.7、@ResponseBody 和 @RestController
  • create-react-app项目添加less配置
  • JavaScript 基础知识 - 入门篇(一)
  • Java的Interrupt与线程中断
  • Map集合、散列表、红黑树介绍
  • miaov-React 最佳入门
  • MySQL主从复制读写分离及奇怪的问题
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • VUE es6技巧写法(持续更新中~~~)
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 你不可错过的前端面试题(一)
  • 前端js -- this指向总结。
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用agvtool更改app version/build
  • 新书推荐|Windows黑客编程技术详解
  • 最简单的无缝轮播
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • # 安徽锐锋科技IDMS系统简介
  • #HarmonyOS:基础语法
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $.each()与$(selector).each()
  • (02)vite环境变量配置
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计ssm电影分享网站
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)Mysql的优化设置
  • (转)大型网站架构演变和知识体系
  • (自适应手机端)响应式服装服饰外贸企业网站模板