Git Sparse checkout检出功能

1. sparse checkout的应用步聚

如图,是我最近托管的一个项目:

这个名为“mybatis_vincent_study”的repository中,有mybatis01和mybatis02两个单独的项目,现在我仅仅想clone下来repository中的mybatis01,我想利用“sparse checkout”方法来做,在stackoverflow中搜索到了一个操作办法,链接:https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository,如图(这是在linux中的操作,经过测试windows同样适用):

按照其中的配置,我做了如下操作,如图:
其中一共5个步骤,分别进行分析:
(1)在指定的文件夹下,创建一个空的repository。
(2)获取远程仓库中的所有对象,但不Check out它们到本地,同时将远程Git Server URL加入到Git Config文件中,这个过程会耗时多一点,如果项目比较大。
(3)在Config中允许使用Sparse Checkout模式。
(4)定义要实际检出的文件/文件夹。这是通过在列表中借助“.git/info/sparse-checkout”将他们列出。
(5)见证奇迹的时刻,从远程库中拉取你要检出的项目。

mkdir <repo>
cd <repo>
git init
git remote add -f origin <url>
git config core.sparseCheckout trueecho "some/dir" >> .git/info/sparse-checkout
echo "anthor/sub/dir" >> .git/info/sparse-checkout
echo "OrangePiH5_kernel/drivers/media/platform/sunxi-vin" >> .git/info/sparse-checkoutgit pull origin master

刷新我的本地仓库,如图:

​ 验证成功!

2. sparse checkout的应用场景

个人或者公司通过git托管项目,有时候项目很多,但是都不大,单独为每个项目创建一个repository又不值得,这个时候,可以把相似功能的项目抽到一个repository当中,这个时候,可以通过sparse checkout来实现我们所要的功能。

3. 缺点

暂时Google上没有搜到使用sparse checkout的缺点,我个人猜测即使出问题,会出在数据同步、一致性上,这一点还有待观察。

4. 补充

​ 由于图书管理系统是前后端分离的,前端代码和原型图可以捆绑在一起,放到一个repository当中,后端代码单独托管到一个repository当中,也是一个非常好的解决办法,今天遇到的问题,其实就是repository中项目粒度的划分问题,多几次这样的实践,以后经验就更丰富了。

Git的稀疏检出功能相关推荐

  1. Git检出指定的目录-稀疏检出

    出于费用和潮流考虑,转换代码控管工具,从Perforce转到Git.权限根据部门进行设定,根据部门设定访问项目库的权限.现状是: 1.同一个部门有不同的项目 2.同一个项目有不同的独立子项目.举个例子 ...

  2. 【IDEA】从Git丶Gitlab检出Maven项目到本地

    一丶打开idea选择git,默认没有一个项目的情况 二丶填写地址点击Clone 如遇到点击Clone没反应或报错 Cannot run program "git.exe": Cre ...

  3. Git检出远程库的分支等相关操作

    来到公司,询问同事后发现系统已经上传到Git远程仓库: 我这里先把远程仓库clone下来: $ git clone http://git.eas****tect.git 发现目录下只有一个READY. ...

  4. git checkout远程分支_Git检出远程分支

    如果贡献者有自己的 Git 仓库,并将修改推送到此仓库中,那么当你拿到仓库的访问地址和对应分支的名称后,就可以加为远程分支,然后在本地进行合并. 比如,Jessica 发来一封邮件,说在她代码库中的  ...

  5. Eclipse中git检出、更新、提交、合并分支、以及解决冲突

    一..检出git代码 在eclipse中空白区域右键 Import 检出项目:选择git方式检出 选择用git urI 链接的方式检出项目并点击继续 在这里填写你的git项目地址.账号密码 二.更新 ...

  6. Git 重置reset,检出checkout和回滚revert(reverse)有什么区别?

    checkout主要用来用暂存区的内容覆盖工作区,达到撤销工作区修改.另一个是用来切换和创建分支. 参考文章:Git检出(checkout) revert(reverse)回滚(反做):撤销某个com ...

  7. Git初学札记(九)————EGit检出远程分支

    引言 现在有这样一个使用场景:团队中的其他开发者提交了一个新的特性分支(如feature_1),要求我们一同开发,并将自己修改的代码也全部提交到这个分支上去.那么如何将这个分支检出,并将本地检出的分支 ...

  8. 【Jenkins】解决检出git仓库时报错Caused by: java.io.IOException: Cannot run program “git“

    Jenkins中配置从一个win7的slave节点检出git仓库时报如下错误: git init E:\jenkins\workspace\Git-backup # timeout=10 ERROR: ...

  9. Git 检出、查看分支、切换分支、新建分支等简单命令

    Git 检出.查看分支.切换分支.新建分支等简单命令 首先需要安装 Git 并且配置 Git 环境变量 在需要检出工程的目录鼠标右键打开命令窗口 首先拿到 Git 仓库 SSH 地址或者 https ...

最新文章

  1. Win8.1下VM与Hyper-v冲突解决方法
  2. LODOP提示、报错、现象,简短问答
  3. Android开发--图形图像与动画(四)--AnimationListener简介
  4. 明天是我的生日,写给24岁的自己
  5. 优雅地在Mac+Valet环境下本地部署phphub
  6. Java 配置maven及阿里云镜像
  7. html文档基本结构由哪三对,第3章 网页制作及HTML语言基本结构简介.ppt
  8. php安装redis扩展模块,[教程]为PHP安装phpRedis扩展模块
  9. python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...
  10. 动态组合sql语句详解
  11. r语言clind函数_19 函数进阶 | R语言教程
  12. 使用VBA通过Excel生产Word报告
  13. 氨基酸在php的溶液中,氨基酸等电点的计算和应用.ppt
  14. Qos介绍及功能->分类标记->流量管理(令牌桶)->拥塞管理与拥塞避免
  15. 云服务器的系统镜像怎么选,买云服务器镜像怎么选择
  16. 信度和效度经典例子_(完整版)心理学中的各种信度和效度
  17. Kettle基本使用(四) —— 应用的使用
  18. 【LaTeX】LaTeX打取整符号
  19. linux 刷流量ip,程序员同事问shell脚本刷流量,不讨巧帮他填了一个巨坑
  20. 楼层标高怎么引上去_高层建筑施工标高传递的简易方法

热门文章

  1. wheel文件安装以及换源安装
  2. 如何完整的修改一个数据库的名称
  3. OpenCV-Python人脸识别,车辆识别,自定义物体识别,自定义分类器
  4. 机器学习中precision和accuracy区别
  5. php die 跳转,php里or die的常见用法
  6. iphone系统架构以及各层提供的主要服务
  7. 25-36.产品经理入门到精通(三)
  8. 深入浅出Java反射原理和使用场景
  9. 模拟电子技术------半导体
  10. 国仁网络:揭秘成为“网红”背后的艰辛道路,达人不签约MCN的10个理由。