提问人:g_inherit 提问时间:8/18/2011 最后编辑:Bitswazskyg_inherit 更新时间:11/10/2023 访问量:1558548
从 GitHub 存储库下载单个文件夹或目录Download a single folder or directory from a GitHub repo
Download a single folder or directory from a GitHub repo
问:
如何仅从 GitHub 上托管的远程 Git 存储库下载特定文件夹或目录?
假设示例 GitHub 存储库位于此处:
[email protected]:foobar/Test.git
其目录结构:
Test/
├── foo/
│ ├── a.py
│ └── b.py
└── bar/
├── c.py
└── d.py
我只想下载 foo 文件夹,而不克隆整个测试项目。
答:
你不能;与 Subversion 不同,Subversion 的每个子目录都可以单独签出,而 Git 则在整个存储库的基础上运行。
对于需要更细粒度访问的项目,您可以使用子模块——每个子模块都是一个单独的 Git 项目,因此可以单独克隆。
可以想象,Git 前端(例如 GitHub 的 Web 界面或 gitweb)可以选择为您提供一个界面来提取给定的文件夹,但据我所知,它们都没有这样做(尽管它们确实允许您下载单个文件,因此如果该文件夹不包含太多文件,则可以选择)
编辑 - GitHub 实际上通过 SVN 提供访问权限,这将允许您执行此操作(根据评论)。有关如何执行此操作的最新说明,请参阅 https://github.com/blog/1438-improved-svn-here-to-stay-old-svn-going-away
评论
您可以对目录树进行简单的下载:
git archive --remote [email protected]:foobar/Test.git HEAD:foo | tar xf -
但是,如果你打算检查它,并且能够进行提交并将它们推回去,不,你不能这样做。
评论
如果你真的只想“下载”文件夹而不是“克隆”它(用于开发),那么简单地获取最新版本的存储库(以及其中的文件夹/文件)的副本的最简单方法,而不需要克隆整个存储库甚至首先安装 git,是下载一个 zip 存档(对于任何存储库, fork、branch、commit 等)通过转到 GitHub 上所需的 repository/fork/branch/commit(例如 获取文件的副本,就像它们在特定提交后一样),然后选择右上角附近的按钮。http(s)://github.com/<user>/<repo>/commit/<Sha1>
Downloads
这种存档格式不包含任何 git-repo 魔术,只包含跟踪文件本身(如果它们被跟踪,也许还有一些 .gitignore 文件,但您可以忽略这些:p) - 这意味着如果代码发生变化并且您想保持顶部,您将不得不手动重新下载它,这也意味着您将无法将其用作 git 存储库......
不确定这是否是您在这种情况下要寻找的(再次,“下载”/查看与“克隆”/开发),但它仍然很有用......
评论
tar.gz
https://github.com/${owner}/${repo}/archive/${hash}.tar.gz
这是 SVN 优于 Git 的少数几个地方之一。
最后,我们倾向于三个选项:
- 使用 wget 从 GitHub 获取数据(使用原始文件视图)。
- 让上游项目将所需的数据子集发布为生成工件。
- 放弃并使用完整的结帐。它在第一个版本中很受欢迎,但除非你获得大量流量,否则在接下来的版本中不会有太大的麻烦。
评论
对于通用 git 存储库:
如果你想下载文件,而不是克隆带有历史记录的存储库,你可以用 git-archive
来做到这一点。
git-archive 创建 git
存储库的压缩 zip 或 tar 存档。一些使它与众不同的地方:
- 您可以选择要存档的 git 存储库中的文件或目录。
- 它不会存档文件夹,也不会存档运行该文件夹的存储库中任何未跟踪的文件。
.git/
- 您可以存档特定的分支、标记或提交。使用 git 管理的项目通常使用它来生成项目版本(beta、release、2.0 等)的存档供用户下载。
从使用 ssh 连接到的远程存储库创建目录存档的示例:docs/usage
# in terminal
$ git archive --format tar --remote ssh://server.org/path/to/git HEAD docs/usage > /tmp/usage_docs.tar
GitHub 存储库上的注意事项:
评论
git archive --format tar
格式不是 tar.gz,而是 tar。
| tar -x
2021 年 4 月更新:社区创建了一些工具可以为您执行此操作:
注意:如果您尝试下载大量文件,则可能需要为这些工具提供令牌以避免速率限制。
原始(手动)方法:原生不支持签出单个目录,但 Github 可以通过 SVN 做到这一点。如果你用 subversion 签出你的代码,Github 基本上会在后端将 repo 从 git 转换为 subversion,然后提供请求的目录。git
以下是使用此功能下载特定文件夹的方法。我将以流行的 javascript 库为例。lodash
修改 subversion 的 URL。替换为 。
tree/master
trunk
https://github.com/lodash/lodash/tree/master/test
➜https://github.com/lodash/lodash/trunk/test
下载文件夹。转到命令行并获取带有 SVN 的文件夹。
svn checkout https://github.com/lodash/lodash/trunk/test
您可能不会立即看到任何活动,因为 Github 最多需要 30 秒才能转换更大的存储库,因此请耐心等待。
完整的URL格式说明:
- 如果您对 branch 感兴趣,请改用。所以完整的路径是
master
trunk
trunk/foldername
- 如果您对 branch 感兴趣,请改用。这 完整路径如下所示
foo
branches/foo
branches/foo/foldername
- 提示:如果您愿意,可以在下载前查看可用的标签和分支
svn ls
就这样!Github 还支持更多的 subversion 功能,包括对提交和推送更改的支持。
评论
svn export
Import
https://github.com/$organization/$repo/branches/$branch/$directory
repo/branches/foo_branch/bar_folder
如果有 ,则可以使用以下方法执行此操作:svn
svn export
svn export https://github.com/foobar/Test.git/trunk/foo
请注意 URL 格式:
- 基本 URL 是
https://github.com/
/trunk
在末尾附加
在运行之前,最好先使用以下命令验证目录的内容:svn export
svn ls https://github.com/foobar/Test.git/trunk/foo
评论
.git
svn ls
svn ls https://github.com/RobTillaart/Arduino.git
/trunk
svn export https://github.com/RobTillaart/Arduino.git/trunk/libraries/DHTlib
https://github.com/miguelgrinberg/python-socketio/tree/master/examples/wsgi
svn export https://github.com/miguelgrinberg/python-socketio.git/trunk/examples/wsgi
wsgi
.git
为了放大上面的答案,从真实的 GitHub 存储库到本地目录的一个真实示例是:
svn ls https://github.com/rdcarp/playing-cards/trunk/PumpkinSoup.PlayingCards.Interfaces
svn export https://github.com/rdcarp/playing-cards/trunk/PumpkinSoup.PlayingCards.Interfaces /temp/SvnExport/Washburn
有时,一个具体的例子有助于澄清所提议的替代方法。
无论谁在处理特定文件夹,他都需要克隆该特定文件夹本身,为此,请使用稀疏签出按照以下步骤操作。
创建目录。
初始化 Git 存储库。(
git init
)启用稀疏结帐。(
git config core.sparsecheckout true
)告诉 Git 你想要哪些目录(echo 2015/brand/May(参考你想处理的文件夹)>>
.git/info/sparse-checkout
)添加遥控器 (
git remote add -f origin https://jafartke.com/mkt-imdev/DVM.git
)获取文件 (
git pull origin master
)
评论
另一个具体的例子:
就像我想从 url 下载“iOS Pro Geo”文件夹一样
https://github.com/alokc83/APRESS-Books-Source-Code-/ tree/master/%20Pro%20iOS%20Geo
我可以通过以下方式做到这一点
svn checkout https://github.com/alokc83/APRESS-Books-Source-Code-/trunk/%20Pro%20iOS%20Geo
注意路径中的中继
编辑:(根据 Tommie C 的评论)
是的,使用 export 而不是 checkout 会提供一个干净的副本,而无需额外的 git 存储库文件。
svn export https://github.com/alokc83/APRESS-Books-Source-Code-/trunk/%20Pro%20iOS%20Geo
编辑:如果 url 中没有 tree/master,则 Fork 它,它将在 Forked url 中。
评论
其他答案没有错,但我只是想为那些第一次在这个过程中徘徊的人分享分步说明。
如何从 github 存储库 (Mac OS X) 下载单个文件夹:
~ 要打开终端,只需单击聚光灯并键入终端,然后按回车键
- 在 Mac 上,您可能已经拥有 SVN(要测试,只需打开终端和 键入“svn”或“which svn”~不带引号)
- 在 Github 上:通过单击存储库中的特定文件夹名称,找到 git 文件夹(而不是存储库)的 Github 路径
- 从浏览器的地址栏中复制路径
- 打开终端并键入:svn export
- 接下来粘贴地址(例如):https://github.com/mingsai/Sample-Code/tree/master/HeadsUpUI
- 替换单词:tree/master
- 带字:trunk
- 键入文件的目标文件夹(在本例中,I 将目标文件夹存储在 Downloads 文件夹中 当前用户)
- 这里的空格只是空格键,而不是单词(空格)~/Downloads/HeadsUpUI
- final 终端命令显示下载 文件夹(将地址与步骤 5 进行比较) svn export https://github.com/mingsai/Sample-Code/trunk/HeadsUpUI ~/Downloads/HeadsUpUI
顺便说一句 - 如果您使用的是 Windows 或其他平台,您可以在 http://subversion.apache.org 找到 subversion (svn) 的二进制下载
~ 如果你想签出文件夹而不是简单地下载它,请尝试使用 svn 帮助(tldr: replace export with checkout)
更新
关于恢复中断的下载/结帐的评论。我会尝试跑步,然后是.请搜索 SO 以获取其他选项。svn cleanup
svn update
评论
若要从 GitHub 导出目录,请将目录 url 中的“/tree/master/”替换为“/trunk/”。
例如,要从以下 URL 导出目录:
https://github.com/liferay/liferay-plugins/tree/master/portlets/sample-hibernate-portlet
运行以下命令:
svn export https://github.com/liferay/liferay-plugins/trunk/portlets/sample-hibernate-portlet
此功能有两个选项:
选项 1:GitZip 浏览器扩展
用法:
- 浏览任何 Github 存储库页面。
- 两种下载方式:
- 选择项目:
- 默认情况下,您可以双击项目或选中项目前面的复选框。
- 单击页面右下角的下载按钮。
- 在上下文菜单中:
- 单击“GitZip下载”>“整个存储库”或“当前文件夹”。
- 将鼠标光标移到该项目上,然后单击“GitZip下载”>“选定的文件夹/文件”。
- 单击“GitZip下载”>执行2-1-1后“选中的项目”。
- 选择项目:
- 查看进度仪表板并等待浏览器触发器下载。
- 获取 ZIP 文件。
获取令牌:
- 单击浏览器上的 GitZip 扩展图标。
- 单击“获取令牌”旁边的“正常”或“私人”链接。
- 在 Github 身份验证页面上授予 GitZip 权限。
- 回到开头的回购页面。
- 继续使用。
选项 2:Github gh-page
使用 GitHub API 和 JSZip、FileSaver .js库进行 http://kinolien.github.io/gitzip。
Step1:在右上角的字段中输入 github url。
Step2:按回车键或单击下载直接下载zip或单击搜索查看子文件夹和文件列表。
Step3:单击“下载Zip文件”或“获取文件”按钮以获取文件。
在大多数情况下,它工作正常,除了文件夹包含超过 1,000 个文件,因为 Github Trees API 限制。(参考 Github API#Contents)
如果您有 GitHub 帐户并使用此站点中的“获取令牌”链接,它还可以支持私有/公共存储库并升级速率限制。
评论
我们的团队编写了一个 bash 脚本来做到这一点,因为我们不想在我们的裸机服务器上安装 SVN。
https://github.com/ojbc/docker/blob/master/java8-karaf3/files/git-download.sh
它使用 github API,可以从命令行运行,如下所示:
git-download.sh https://api.github.com/repos/ojbc/main/contents/shared/ojb-certs
转到 DownGit >输入您的 URL >下载!
您可以直接从 DownGit 下载或创建任何 GitHub 公共目录或文件的下载链接-
您还可以配置下载文件的属性 - 详细用法。
免責聲明:我陷入了与提问者相同的问题,找不到任何简单的解决方案。所以,我先开发了这个工具供自己使用,然后打开给大家:)
评论
我使用的是 CentOS 7 服务器,我没有 root 访问权限,也没有 git、svn 等(也不想! 所以制作了一个 python 脚本来下载任何 github 文件夹: https://github.com/andrrrl/github-folder-downloader
用法很简单,只需从 github 项目中复制相关部分,假设该项目 https://github.com/MaxCDN/php-maxcdn/,并且您想要一个只有某些源文件的文件夹,那么您需要执行以下操作:
$ python gdownload.py "/MaxCDN/php-maxcdn/tree/master/src" /my/target/dir/
(如果不存在,将创建目标文件夹)
它需要lxml库,可以安装如果你
没有root访问权限(像我一样),你可以在你的目录中创建一个文件,里面有这些内容: 并且会正常工作(参考:https://stackoverflow.com/a/33464597/591257)。easy_install lxml
.pydistutils.py
$HOME
[install]
user=1
easy_install lxml
我使用linux所以,把它放在~/.bashrc中,甚至称为:D $HOME/.bashrc
git-dowloadfolder(){
a="$1"
svn checkout ${a/tree\/master/trunk}
}
然后刷新 shell
source ~/.bashrc
然后将它与 git-downloadfolder blablabla 一起使用:D
有一个名为 Python3 pip 的包可以做到这一点*:githubdl
export GIT_TOKEN=1234567890123456789012345678901234567890123
pip install githubdl
githubdl -u http://github.com/foobar/test -d foo
项目页面在这里
* 免责声明:我写了这个包。
评论
在我的情况下,没有一个答案有帮助。如果您正在为 Windows 进行开发,您可能没有 svn。在许多情况下,也不能指望用户安装 Git,或者出于其他原因不想下载整个存储库。一些回答这个问题的人,如威廉·范·凯特维奇(Willem van Ketwich)和阿兹塔克(aztack),制作了完成这项任务的工具。但是,如果该工具不是针对您正在使用的语言编写的,或者您不想安装第三方库,则这些工具将不起作用。
但是,有一种更简单的方法。GitHub 有一个 API,允许您使用 GET 请求下载单个文件或整个目录的内容。您可以使用返回 JSON 对象的目录来访问该目录,该对象枚举了该目录中的所有文件。枚举中包含指向文件原始内容(参数)的链接。然后,可以使用该 URL 下载该文件。https://api.github.com/repos/:owner/:repo_name/contents/:path
download_url
这是一个两步过程,需要能够发出 GET 请求,但这几乎可以在任何平台上以任何语言实现。它可用于获取文件或目录。
评论
download_url
null
如果您熟悉 unix 命令,则不需要特殊的依赖项或 Web 应用程序。您可以将存储库下载为压缩包,并仅解压缩您需要的内容。
示例(来自 fontawesome 子目录的 woff2 文件):
curl -L https://api.github.com/repos/FortAwesome/Font-Awesome/tarball | tar xz --wildcards "*/web-fonts-with-css/webfonts/*.woff2" --strip-components=3
- 有关链接格式的更多信息:https://developer.github.com/v3/repos/contents/#get-archive-link(包括如何获取 zip 文件或特定分支/引用)
- 保留路径 () 的初始部分以匹配任何目录。Github 创建了一个包装器目录,名称中带有 commit ref,因此无法知道它。
*/
- 您可能希望与路径中的斜杠 () 数量相同(上一个参数)。
--strip-components
/
这将下载整个压缩包。如果必须避免这种情况,或者如果您想对 GitHub 服务器友好,请使用其他答案中提到的 SVN 方法。
git clone --filter
仅下载所需的文件夹
例如,仅克隆此存储库子目录所需的对象:https://github.com/cirosantilli/test-git-partial-clone-big-small 忽略包含大文件的子目录,我可以:small/
big/
git clone -n --depth=1 --filter=tree:0 \
https://github.com/cirosantilli/test-git-partial-clone-big-small
cd test-git-partial-clone-big-small
git sparse-checkout set --no-cone small
git checkout
该选项是与远程协议的更新一起添加的,它确实可以防止从服务器下载对象。--filter
我已经在以下位置更详细地介绍了这一点:如何仅克隆 Git 存储库的子目录?
2021 年 1 月在 git 2.30.0 上测试。
评论
git checkout
git sparse-checkout set
2019年总结
有多种方法可以处理此问题,具体取决于您是要手动还是以编程方式执行此操作。
下面总结了四个选项。对于那些喜欢更实际解释的人,我整理了一个 YouTube 视频:从 GitHub 下载单个文件和文件夹。
此外,我在 StackOverflow 上发布了类似的答案,供那些需要从 GitHub 下载单个文件(而不是文件夹)的人使用。
1. GitHub 用户界面
- 存储库的主页上有一个下载按钮。当然,这会下载整个存储库,之后您需要解压缩下载内容,然后手动拖出所需的特定文件夹。
2. 第三方工具
- 有各种浏览器扩展和 Web 应用程序可以处理这个问题,DownGit 就是其中之一。只需将 GitHub URL 粘贴到文件夹(例如)并按“下载”按钮即可。
https://github.com/babel/babel-eslint/tree/master/lib
3. 颠覆
- GitHub 不支持 git-archive(允许我们下载特定文件夹的 git 功能)。但是,GitHub 确实支持各种 Subversion 功能,我们可以将其中一个功能用于此目的。Subversion 是一个版本控制系统(git 的替代品)。您需要安装 Subversion。获取要下载的文件夹的 GitHub URL。不过,您需要修改此 URL。您需要指向存储库的链接,后跟单词“trunk”,并以嵌套文件夹的路径结尾。换句话说,使用我上面提到的相同文件夹链接示例,我们将“tree/master”替换为“trunk”。最后,打开一个终端,导航到您希望将内容下载到的目录,键入以下命令(将 URL 替换为您构造的 URL):,然后按 Enter。
svn export https://github.com/babel/babel-eslint/trunk/lib
4. GitHub API 接口
- 如果要以编程方式完成此任务,则需要此解决方案。这实际上是 DownGit 在引擎盖下使用的。使用 GitHub 的 REST API 编写一个脚本,用于向内容终结点执行 GET 请求。端点可以按如下方式构造:.替换占位符后,示例端点为:。这将为您提供该文件夹中存在的所有内容的 JSON 数据。数据包含所需的一切,包括内容是文件夹还是文件、下载 URL(如果是文件)和 API 终结点(如果是文件夹)(以便您可以获取该文件夹的数据)。使用此数据,脚本可以递归遍历目标文件夹中的所有内容,为嵌套文件夹创建文件夹,并下载每个文件夹的所有文件。查看 DownGit 的代码以获取灵感。
https://api.github.com/repos/:owner/:repo/contents/:path
https://api.github.com/repos/babel/babel-eslint/contents/lib
您可以通过以下方式使用 git-svn。
首先,替换为 然后,安装tree/master
trunk
git-svn
sudo apt install git-svn
git svn clone https://github.com/lodash/lodash/trunk/test
这样你就不必经历设置 svn 的痛苦,特别是对于 Windows 用户。
评论
sudo apt install git-svn
在通过 WSL 运行时是必需的。
无论出于何种原因,该解决方案对我不起作用,而且由于我不需要其他任何东西,因此花时间尝试制作它没有意义,因此我使用已有的工具寻找一个简单的解决方案。此脚本仅使用 和 下载描述为 的 GitHub 目录中的所有文件。svn
svn
curl
awk
"/:user:repo/contents/:path"
对 GitHub REST API 命令的调用的返回正文将返回一个对象,该对象包含目录中每个文件的链接。"GET /repos/:user:repo/contents/:path"
"download_url"
此命令行脚本使用该 REST API 调用该 REST API,并通过 AWK 发送结果,AWK 会过滤掉除“download_url”行之外的所有行,从链接中删除引号和逗号,然后使用另一个对 curl 的调用下载链接。curl
curl -s https://api.github.com/repos/:user/:repo/contents/:path | awk \
'/download_url/ { gsub("\"|,", "", $2); system("curl -O "$2"); }'
评论
awk: cmd. line:1: /download_url/ { gsub("\"|,", "", $2); system("curl -O "$2"); } awk: cmd. line:1: ^ syntax error
FOR /F delims^=^"^ tokens^=4 %%a IN ('curl -s https://api.github.com/repos/:user/:repo/contents/:path 2^>NUL ^| findstr "download_url"') DO curl -O "%%~a"
只需 5 个步骤
- 从这里下载 SVN。
- 打开 CMD 并转到 SVN bin 目录,如下所示:
cd %ProgramFiles%\SlikSvn\bin
- 假设我想下载这个目录 URL
https://github.com/ZeBobo5/Vlc.DotNet/tree/develop/src/Samples
- 将 或 替换为
tree/develop
tree/master
trunk
- 现在触发最后一个命令以下载同一目录中的文件夹。
svn export https://github.com/ZeBobo5/Vlc.DotNet/trunk/src/Samples
git sparse-checkout
Git 2.25.0 包含一个新的实验性命令,使现有功能更易于使用,并为大型存储库提供一些重要的性能优势。(GitHub 博客
git sparse-checkout
)
当前版本的示例:
git clone --filter=blob:none --sparse https://github.com/git/git.git
cd git
git sparse-checkout init --cone
git sparse-checkout add t
尤其是
--sparse
仅将存储库的顶级目录文件签入到工作副本中git
git sparse-checkout add t
以增量方式添加/检出t
git
其他元素
git sparse-checkout init
做了一些准备工作来启用部分检出--filter=blob:none
通过仅下载必要的 Git 对象来优化数据获取(有关详细信息,请查看部分克隆功能)--cone
还通过应用更受限制的文件包含模式来提高性能
GitHub 状态
GitHub 仍在内部评估此功能,同时在选定的几个存储库上启用此功能 [...]。随着该功能的稳定和成熟,我们将随时向您通报其进展情况。(文档)
评论
git sparse checkout
不是严格需要的,至少现在不是了。 单独也只获取丢失的 Blob:stackoverflow.com/a/56504849/895245git checkout
通过在 url 中将 github 替换为 githubbox 打开 codesandbox 的存储库,然后在 codesandbox 上转到文件菜单并将其导出为 zip。
对于以下存储库:https://github.com/geist-org/react/tree/master/examples/custom-themes
输入以下网址: https:// githubbox.com/geist-org/react/tree/master/examples/custom-themes
在 codesandbox 中,转到文件菜单并将其导出为 Zip。
这就是我使用 git v2.25.0 的方式,也使用 v2.26.2 进行了测试。此技巧不适用于 v2.30.1
顶级域名
git clone --no-checkout --filter=tree:0 https://github.com/opencv/opencv
cd opencv
# requires git 2.25.x to 2.26.2
git sparse-checkout set data/haarcascades
您可以使用 Docker 来避免安装特定版本的 git
git clone --no-checkout --filter=tree:0 https://github.com/opencv/opencv
cd opencv
# requires git 2.25.x to 2.26.2
docker run --rm -it -v $PWD/:/code/ --workdir=/code/ alpine/git:v2.26.2 sparse-checkout set data/haarcascades
完整的解决方案
# bare minimum clone of opencv
$ git clone --no-checkout --filter=tree:0 https://github.com/opencv/opencv
...
Resolving deltas: 100% (529/529), done.
# Downloaded only ~7.3MB , takes ~3 seconds
# du = disk usage, -s = summary, -h = human-readable
$ du -sh opencv
7.3M opencv/
# Set target dir
$ cd opencv
$ git sparse-checkout set data/haarcascades
...
Updating files: 100% (17/17), done.
# Takes ~10 seconds, depending on your specs
# View downloaded files
$ du -sh data/haarcascades/
9.4M data/haarcascades/
$ ls data/haarcascades/
haarcascade_eye.xml haarcascade_frontalface_alt2.xml haarcascade_licence_plate_rus_16stages.xml haarcascade_smile.xml
haarcascade_eye_tree_eyeglasses.xml haarcascade_frontalface_alt_tree.xml haarcascade_lowerbody.xml haarcascade_upperbody.xml
haarcascade_frontalcatface.xml haarcascade_frontalface_default.xml haarcascade_profileface.xml
haarcascade_frontalcatface_extended.xml haarcascade_fullbody.xml haarcascade_righteye_2splits.xml
haarcascade_frontalface_alt.xml haarcascade_lefteye_2splits.xml haarcascade_russian_plate_number.xml
引用
评论
v2.30.1
2.38.1
git checkout main
git sparse-checkout set foo
您可以将 ghget 与从地址栏复制的任何 URL 一起使用:
ghget https://github.com/fivethirtyeight/data/tree/master/airline-safety
这是一个独立的可移植 shell 脚本,不使用 SVN(这在大型存储库上对我不起作用)。它也不使用 API,因此不需要令牌,也没有速率限制。
免责声明:我做到了。
在尝试了所有答案之后,对我来说最好的解决方案是:
GitHub 的基于 vscode 的编辑器。
优点:
- 不需要任何额外的工具,如 API 令牌。
svn
- 内容大小无限制
- 另存为目录或文件,而不是存档。
指示
- 转到任何存储库。(例 https://github.com/RespiraWorks/Ventilator/tree/master/software)
- 按 URL 或替换为 在 GitHub 的内部编辑器中打开存储库.
.com
.dev
- 在窗格(左侧或按 ++)中,右键单击所需的文件/文件夹,然后选择下载。
Explorer
CtrlShiftE - 在对话框中,选择磁盘上要存在所选文件/文件夹的目录。
Select Folder
注意
我尝试了其他解决方案,例如接受的答案,但是,
- 不想只为此安装和学习。
svn
- 其他工具,如 Download Directory、Refined GitHub、GitZip、DownGit 要么需要 API 令牌,要么无法下载大型目录。
其他选项
- 带有远程存储库扩展名的 VSCode 打开存储库并下载文件/文件夹。
评论
上一个:为什么文本文件应该以换行符结尾?
评论