您可以wget
退出 GitHub 存储库以获取 tar 文件(存档):
wget --no-check-certificate https://github.com/User/repo/archive/master.tar.gz
# better, if the certificate authorities are present:
wget https://github.com/User/repo/archive/master.tar.gz
将从用户 'User' 的 repo 'repo' 中获得一个名为 'master' 的文件。
更新后的V3 API 网址为:
https://api.github.com/repos/User/repo/:archive_format/:ref
#
# two possibilities for fomat:
https://api.github.com/repos/User/repo/tarball/master
https://api.github.com/repos/User/repo/zipball/master
# from github example:
$curl -L https://api.github.com/repos/octokit/octokit.rb/tarball > octokit.tar.gz
然后tar xpvf master
,您可以获得完整的存档。它将按照您提到的问题中描述的命名约定创建一个目录。
由于他们的下载服务“Nodeload”,从 GitHub 获取存档不需要 git 二进制文件。
ligemer
在编辑中提出以下示例:
编辑 2016-08-25 - 带有 Wget、变量和 Untar 的 Shell 示例:
#!/bin/bash -ex
# arguments:
# token = $1
# organization = $2
# repo name = $3
# branch = $4
wget --header="Authorization: token ${1}" --header="Accept:application/vnd.github.v3.raw" -O - https://api.github.com/repos/${2}/${3}/tarball/${4} | tar xz
通过以下方式致电:
$ scriptName.sh token my-organization site.com master
上面的命令会将 Github 文件夹下载并解压到与脚本相同的目录中。
Diogo Quintela在评论中建议:
以下示例允许下载、解压和剪切顶级目录
curl -L https://api.github.com/repos/octokit/octokit.rb/tarball | tar xz --strip=1