【GIT】拉取大文件集仓库下的部分目录

Date: 2021.04.19
Author: jwensh

1. 背景

一些历史背景和目前的需求,有些工程从svn切换到gitlab上,出现一个问题,就是原本svn上大目录集的仓库,放到gitlab上后 ,也是一个大仓库集的,以至于clone一个好几个G容量的仓库,显得十分难受,所以,局部子目录下载,显得很方便

很早就用这个子目录下载方式了,今天就简单分享下

2. 操作

  • 目录结构假如
.
├── README.md
├── a/
│   ├── a2/
│   └── a3
├── b/
│   ├── b2
│   └──b.txt
└── c/
    ├── c2
    ├── c.txt
  • 操作仓库下的多目录,层级深浅,不是很有影响

2.1 GIT 拉去子目录

  • 1.本地在一个目录 /data/jwensh,命令行下git init实例化下项目
  • 2.然后修改配置 git config core.sparsecheckout true, 开启简介模式
  • 3.将项目下指定的文件目录路径写入到配置文件中 echo a/a2/* >> .git/info/sparse-checkout
    • a/a2/* 就是指定我们的子目录
    • 需要注意的是 这个追加字符 >> , 不要用>
  • 4.然后为这个项目添加一个远程仓库 git remote add origin https://git.jwensh-inc.com/jwensh/jwensh.git
  • 5.然后拉取文件git pull origin master
  • 6.检查已有: /data/jwensh/a/a2 相关内容

基于这几个操作就能,拉去到对应子目录的数据。那这时候又想拉去其他子目录怎么办?

2.2 追加一个子目录

比如:想要再clone一个 b/
需要操作上面的 35 步骤即可

  • cd /data/jwensh
    • 注意:因为是同一个工程,需要再根目录下操作,因为下面命令是相对路径
  • 3.将项目下指定的文件目录路径写入到配置文件中 echo b/* >> .git/info/sparse-checkout
  • 5.然后拉取文件git pull origin master
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值