对于较大的代码仓库来说,如果只是想查看和学习其中部分源代码,选择性地下载部分路径中的代码就显得很实用了,这样可以节省大量等待时间。

比如像 Chromium 这种,仓库大小好几 G 的。

clone 仓库中部分路径下的代码分三步,

  1. 本地初始化一个空仓库,将目标仓库 git 地址设置成远端 origin。
  2. 配置需要下载代码的路径到 .git/info/sparse-checkout 文件,多个路径可每个一行进行书写。
  3. 最后执行 git pull 执行代码的拉取。
$ git init <repo>
$ cd <repo>
$ git remote add -f origin <url>$ git config core.sparseCheckout true$ echo "some/dir/" >> .git/info/sparse-checkout
$ echo "another/sub/tree" >> .git/info/sparse-checkout$ git pull origin master

目录增删

如果后续想增删路径,直接编辑 .git/info/sparse-checkout 文件,然后执行 git read-tree

$ vi .git/info/sparse-checkout
$ git read-tree -mu HEAD
# 或
$ git read-tree --dry-run HEAD

切换到完整模式

如果哪天不想获取部分代码,而想拉取整个仓库的完整代码,同样地,编辑 .git/info/sparse-checkout 文件替换其内容为如下:

/*

然后再执行 git read-tree 即可。

相关资源

  • git-scm SPARSE CHECKOUT
  • SO - How to clone git repository only some directories?
  • Subdirectory checkouts with Git sparse-checkout

转载于:https://www.cnblogs.com/Wayou/p/git_sparsecheckout.html

git clone 仓库的部分代码相关推荐

  1. git clone公司项目的代码到本地

    首先下载git https://npm.taobao.org/mirrors/git-for-windows/ 通过上面的网址选择下载会更快一些,去官网上下载太慢慢慢了 下完之后,右键鼠标点击git ...

  2. 免输入用户名和密码以及git clone以后想提交代码

    git push的时候免输入用户名和密码: https://www.jianshu.com/p/6c61b13e8bdb --------------------------------------- ...

  3. IDEA使用git更新仓库中的代码

    目前通过idea发现三种更新方式 1:右键项目 2: 3:

  4. 使用Git命令从远程仓库获取项目代码

    1.第一步查看本地配置信息:使用如下命令 git config --list 2.第二步查看git用户名:检查是否是指定的用户名 git config user.name 3.第三步查看邮箱配置:检查 ...

  5. GitLabCICD实战----在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法

    更多信息请关注 个人网站 一.背景 在有些时候,比如在一个项目中,产品的代码是java代码仓,自动化测试脚本是python语言,单独存放的代码仓,在使用GitlabCICD构建流水线的时候有这样一种场 ...

  6. windows10中git 远程仓库使用

    git 远程仓库使用 文章目录 git 远程仓库使用 从github下载代码 本地仓库上传代码到github 本地仓库创建 :https://blog.csdn.net/weixin_44493841 ...

  7. 22-07-14 西安 Git 分布式版本控制系统 、代码管理

    Git是目前世界上最先进的分布式版本控制系统,Git可以做源代码管理 Git的诞生 Linus (Linus Torvalds 林纳斯.托瓦斯)是在BitKeeper停止向开源社区提供免费版本后开发了 ...

  8. git clone报错

    问题:error: RPC failed; curl 18 transfer closed with outstanding read data remaining 方法:(一般http方式会用到) ...

  9. ssh 配置了,但git clone失败了,hostkeys_find_by_key_hostfile: hostkeys file /Users/XX/.ssh/known_hosts

    今天Gitlab上配置了 项目 git clone ssh 无法拉代码,换成git clone http的可以 ssh -vvvT git@XXX.XX 发现提示hostkeys_find_by_ke ...

最新文章

  1. java 媒体播放器_Java多媒体播放器(三)
  2. BASH SHELL 脚本基础
  3. Numpy基础学习与总结
  4. 前端学习(3289):react hook state-hook
  5. 一个cube的大小位置方向不断和另一个cube重合
  6. mysql like 多个条件_千万级MySQL数据库这样建索引可以让你的数据库飞起来.........
  7. Android studio设置相机权限,如何强制将“android.permission.CAMERA”权限添加到Codename中的清单中...
  8. mysql存储过程模糊查询_vb.net 使用存储过程进行模糊查询的教程
  9. Wireshark抓包获取QQ好友IP
  10. PandoraBox 路由器 IPv6穿透
  11. Redis相关面试题
  12. CSS3 低多边形(Low Poly)设计及开发实例 - 简单的字母
  13. 实验六:熟悉Hive的基本操作
  14. GO语言数据结构之队列
  15. 游戏系统开发设计分享
  16. Elasticsearch 压测方案之 es rally 简介
  17. 学习c++的50条忠告(转自C++百度贴吧)
  18. 众包知识获取的预算任务调度
  19. Matlab 常见错误(1)——提示“数组索引必须为正整数或逻辑值”或者“索引超出数组元素的数目”
  20. 基于阿里云物联网的体重秤

热门文章

  1. JS -- Unexpected trailing comma
  2. C#排队处理DEMO
  3. laravel5.5事件系统
  4. ios系统中各种设置项的url链接
  5. Laravel学习笔记(四)数据库 数据库迁移案例
  6. js带有折行的警告框
  7. 鼠标滚轮(mousewheel)和DOMMouseScroll事件 (转载)
  8. 【公告】服务器升级完成
  9. 活动目录ADSI实现添加系统帐号问题!!!
  10. Ubuntu11.04更新源(转)