如何使用命令行从github下载2个文件?大意如下的东西:
git fetch git://github.com/username/Project.git/file1 git fetch git://github.com/username/Project.git/file2
wfsdck301#
如果您转到页面并查看“raw”提供的链接(在查看文件时位于左上角)。您将看到,您可以通过以下方式访问它:
https://github.com/username/repository/raw/$changeset_hash/path/to/file
除了$changeset_hash,你也可以提供一个分支(例如主)或标签。您可以使用类似wget的工具检索原始文件。直接从.git-repository中删除单个文件是不可能的(据我所知),因为数据是如何存储的。
$changeset_hash
**edit:**当您想要从私有存储库访问文件时,首先需要在您的帐户设置中创建具有相应权限的访问令牌。你可以使用github的API来访问文件的内容,而不是调用上面的url。确保使用自定义媒体类型的Accept-header来获取原始数据。这可能看起来像这样:
curl \ -H 'Authorization: token $YOUR_TOKEN' \ -H 'Accept: application/vnd.github.v3.raw' \ -O \ -L 'https://api.github.com/repos/:owner/:repo/contents/:path'
-O将内容保存在本地文件中,该文件的名称与远程文件的名称相同。为了方便使用,您可以将其 Package 在脚本中。@Chris_Withers建议用一个很好的python片段进行编辑,不幸的是,这个片段被拒绝了,因为它对答案有很大的改变。
-O
zzlelutf2#
从GitHub复制特定文件的原始链接。(当你在Github中打开文件时,在右上角你可以看到以原始模式打开文件的选项。以raw模式打开并复制URL)现在在命令行中使用curl或wget命令下载文件。
curl
wget
curl -o filename raw-link-to-file
或
wget -O filename raw-link-to-file
请注意
vbopmzt13#
在新的UI界面中(大约2020年6月),如果您的文件url是
https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf
然后
wget https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf?raw=true
ruyhziif4#
git checkout
例如:
git checkout master~2 file1
(git checkout --help寻求帮助)
git checkout --help
nnvyjq4y5#
需要获取原始链接
curl https://github.com/[user]/[package]/blob/master/package.json
然后调用链接
curl https://raw.githubusercontent.com/[user]/[package]/main/package.json
对我很有效
ocebsuys6#
你可以试试github-files-fetcher,它是一个命令行工具,可以从GitHub存储库下载单个文件夹或文件。在上面的例子中,你可以使用下面的命令从github中获取两个特定的文件:
fetcher --url="git://github.com/username/Project.git/file1" fetcher --url="git://github.com/username/Project.git/file2"
想象一个更真实的场景:你正在访问下面的网页并且想单独下载async子目录。https://github.com/reduxjs/redux/tree/master/examples对不起,不允许张贴图片。使用github-files-fetcher,您应该首先复制该页面的url,即https://github.com/reduxjs/redux/tree/master/examples/async,然后在命令行中运行以下命令:fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
async
github-files-fetcher
url
fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
fruv7luv7#
我在这里使用Linux,它对我很有效步骤1去你要下载的文件,然后点击原始按钮enter image description here2.从搜索栏复制urlenter image description here3.在终端中运行命令
wget paste-url
enter image description here
7条答案
按热度按时间wfsdck301#
如果您转到页面并查看“raw”提供的链接(在查看文件时位于左上角)。您将看到,您可以通过以下方式访问它:
除了
$changeset_hash
,你也可以提供一个分支(例如主)或标签。您可以使用类似wget的工具检索原始文件。
直接从.git-repository中删除单个文件是不可能的(据我所知),因为数据是如何存储的。
**edit:**当您想要从私有存储库访问文件时,首先需要在您的帐户设置中创建具有相应权限的访问令牌。你可以使用github的API来访问文件的内容,而不是调用上面的url。确保使用自定义媒体类型的Accept-header来获取原始数据。这可能看起来像这样:
-O
将内容保存在本地文件中,该文件的名称与远程文件的名称相同。为了方便使用,您可以将其 Package 在脚本中。@Chris_Withers建议用一个很好的python片段进行编辑,不幸的是,这个片段被拒绝了,因为它对答案有很大的改变。zzlelutf2#
从GitHub复制特定文件的原始链接。(当你在Github中打开文件时,在右上角你可以看到以原始模式打开文件的选项。以raw模式打开并复制URL)
现在在命令行中使用
curl
或wget
命令下载文件。或
请注意
vbopmzt13#
在新的UI界面中(大约2020年6月),如果您的文件url是
然后
ruyhziif4#
例如:
(
git checkout --help
寻求帮助)nnvyjq4y5#
需要获取原始链接
然后调用链接
对我很有效
ocebsuys6#
你可以试试github-files-fetcher,它是一个命令行工具,可以从GitHub存储库下载单个文件夹或文件。
在上面的例子中,你可以使用下面的命令从github中获取两个特定的文件:
想象一个更真实的场景:你正在访问下面的网页并且想单独下载
async
子目录。https://github.com/reduxjs/redux/tree/master/examples
对不起,不允许张贴图片。
使用
github-files-fetcher
,您应该首先复制该页面的url
,即https://github.com/reduxjs/redux/tree/master/examples/async,然后在命令行中运行以下命令:fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
fruv7luv7#
我在这里使用Linux,它对我很有效
步骤1去你要下载的文件,然后点击原始按钮
enter image description here
2.从搜索栏复制url
enter image description here
3.在终端中运行命令
enter image description here