从GitHub仓库下载单个文件夹或目录

如今咱们开发项目时已经习惯了面向搜索,面向GitHub编程,有时候想把仓库中的某个文件夹或文件下载到本地,一般只能经过git clone先把整个仓库克隆到本地,遇到仓库中文件比较多或有较大文件时经常须要等待很长时间。jquery

最近学习开发VS Code extension,文档中给出了官方例子的仓库:https://github.com/microsoft/...git

图片描述

能够看到,这个仓库下有2-30个例子,我要开发的扩展和树视图有关,因此想把tree-view-sample下载下来运行参考。如今我要作的是把整个仓库克隆下来,或者把这个文件夹下的文件一个个下载下来(下载单个文件能够用图中左侧Octotree这个浏览器扩展,比较方便),可是都很麻烦。github

因而我搜索有没有下载仓库子目录的方法,发现stackover上有挺多讨论的,不少人给出了不一样的方案,好比这里提到的方法web

> 1. git init bootstrap && cd bootstrap 
> 2. git config core.sparsecheckout true 
> 3. echo '/js/tests/*' >> .git/info/sparse-checkout 
> 4. git remote add origin https://github.com/twbs/bootstrap.git
> 5. git pull origin master

这个是之前看到过的,试验过,确实可行,当时还作了笔记。还有其余好比git clone --depth ...git archive ...,这些使用git命令的方法看起来都挺复杂的,并且像是把整个仓库下载下来后再作处理。(固然我没验证过╮(╯▽╰)╭)chrome

还看到不少人提到了用SVN,自从用了Git后,就挺排斥SVN的,可是看到一些答案说使用SVN很简单,我就试了下,发现,真香shell

首先,我不须要SVN客户端,只要简单命令行工具,有人推荐SlikSVN就用它了。(安装点的飞快,好像出错最后还回退了,不过文件却是安装上了,最后加上环境变量就行了╮(╯▽╰)╭)编程

主要用到两个命令,svn lssvn export,前者和shell命令ls差很少,固然没有那些“花里胡哨”的选项。后者跟git clone差很少吧,就是下载。bootstrap

基本用法:windows

svn export https://github.com/username/repo-name/trunk/path dest

其中trunk大概是master吧,dest是下载到本地的目录名,可省略。浏览器

下面以jQuery仓库为例,仓库地址:https://github.com/jquery/jquery

首先运行

svn ls https://github.com/jquery/jquery

结果提示错误@_@,后面加上.git就好,有些仓库要加,有些不须要,我也不懂为何,出错了先加上吧,之后研究。

svn ls https://github.com/jquery/jquery.git

列出branches/tags/trunk/,这里把它们当成目录理解就行了,能够继续svn ls下一层的路径。.../branches/xx/tags/x.y.z/...trunk/后就是文件路径。

假如如今要下载taskshttps://github.com/jquery/jquery/tree/master/build/tasks)这个文件夹,运行

svn export https://github.com/jquery/jquery.git/trunk/build/tasks

图片描述

这样就下载好了。固然,单独下载文件也是能够的。

其余还有一些人提到的浏览器扩展或写的工具库没试过就不说了。

相关文章
相关标签/搜索