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

我如何只从GitHub上托管的远程Git仓库下载特定的文件夹或目录?

说GitHub回购的例子在这里:

git@github.com:foobar/Test.git

其目录结构:

Test/
    foo/ 
       a.py
       b.py
    bar/
       c.py
       d.py

我只想下载foo文件夹,而不是克隆整个Test项目。


2016年9月更新:社区可以创建一些工具,可以为您做到这一点:

  • GitZip(积分给Kino - upvote他的答案在这里!

  • DownGit(给Minhas Kamal的信贷 - 在这里提出他的回答


  • Git不支持这一点,但Github通过SVN。 如果你使用subversion来检验你的代码,Github将基本上将git的repo转换为后端的subversion,然后提供请求的目录。

    以下是如何使用此功能下载特定文件夹的方法。 我将以流行的JavaScript库lodash为例。

  • 获取回购网址 。 首先,将Github仓库的URL复制到剪贴板。 github repo网址示例

  • 修改Subversion的URL 。 我想从master分支的/docs下载文件夹,所以我会追加trunk/docs 。 完整的URL现在是https://github.com/lodash/lodash/trunk/docs 。 请参阅下面的注释,以更深入地了解为什么我们必须使用此网址格式。

  • 下载文件夹 。 转到命令行并用SVN抓取文件夹。 svn checkout https://github.com/lodash/lodash/trunk/docs

  • 您可能不会立即看到任何活动,因为Github需要长达30秒才能转换较大的存储库,因此请耐心等待。

    完整的URL格式说明:

  • 如果您对master分支感兴趣,请改用trunk 。 所以完整路径是trunk/foldername
  • 如果您对foo分支感兴趣,请改用branches/foo 。 完整路径看起来像branches/foo/foldername
  • Protip:如果你愿意,你可以在下载之前使用svn ls来查看可用的标签和分支
  • 就这样! Github也支持更多的颠覆功能,包括支持提交和推送更改。


    这个功能的两个选项:

    选项1:浏览器扩展

    Chrome扩展程序,Firefox Addon

    用法:

  • 在任何GitHub仓库页面中。
  • 只需双击你需要的物品。
  • 点击右下方的下载按钮。
  • 查看进度仪表板并等待浏览器触发器下载。
  • 获取ZIP文件。
  • 获取令牌:

  • 点击浏览器上的GitZip Extension图标。
  • 点击“获取令牌”以外的“正常”或“私人”链接。
  • 在Github授权页面授权GitZip权限。
  • 回到开始的回购页面。
  • 继续使用。

  • 选项2:Github gh-page

    通过使用GitHub API和JSZip,FileSaver.js库http://kinolien.github.io/gitzip。

    第1步:将github url输入到右上角的字段中。
    第二步:直接按回车或点击下载下载zip文件,或点击搜索查看子文件夹和文件列表。
    第三步:点击“下载压缩文件”或“获取文件”按钮获取文件。

    在大多数情况下,它工作正常,除了该文件夹包含超过1,000个文件,因为Github Trees API限制。 (指Github API#内容)

    如果您拥有GitHub账户并使用本网站中的“获取令牌”链接,它还可以支持私人/公共回购和升级速率限制。


    转到DownGit >输入您的URL>下载!

    现在,您可以直接下载或为DownGit的任何GitHub公共目录或文件(特大文件)创建DOWNLOAD LINK ! 这是一个简单的演示 -


    DownGit


    您也可以配置下载文件的属性详细用法。

    链接地址: http://www.djcxy.com/p/27033.html

    上一篇: Download a single folder or directory from a GitHub repo

    下一篇: Behave test runner has no colored output on Jenkins