我需要能够以特定标签下载我们的应用程序,但我无法找到一个可行的解决方案。下载基于 git tag 的 tarball 似乎很有希望,但我无法使用 Curl 让它工作。我尝试了以下方法,但我得到的只是 github 404 页面的源代码。
curl -sL https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m?login=$MY_USER_NAME&token=$MY_TOKEN > 0.2.0.257m.tar
对于公共回购,你有这个要点列出了一些例子:
wget --no-check-certificate https://github.com/sebastianbergmann/phpunit/tarball/3.5.5 -O ~/tmp/cake_phpunit/phpunit.tgz
对于私人仓库,请尝试在 post 指令中传递您的凭证信息:
wget --quiet --post-data="login=${login}&token=${token}" --no-check-certificate https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m
或者使用 curl 命令,如 SO 问题“ git 等价于svn export
或 github 解决方法”,也在:
“使用 GitHub 的 API 的 curl 教程”中进行了详细说明。
OP Steven Jp报告已使curl
命令工作:
最终的 curl 命令最终看起来像这样:
curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar
(为了便于阅读,多行)
curl -sL --user "${username}:${password}"
https://github.com/$account/$repo/tarball/$tag_name
> tarball.tar
创建访问令牌后,
你可以使用wget
:
wget --output-document=<version>.tar.gz \
https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN>
或curl
:
curl -L https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> \
> <version>.tar.gz
更多信息可以在GitHub 的存档链接 API 参考中找到。
在 Github.com 上登录您的私人组织,然后前往此处创建您的令牌: https ://github.com/settings/applications#personal-access-tokens
尝试卷入您的私人组织时,请使用以下内容:
curl --header 'Authorization: token ADDACCESSTOKENHERE' \
--header 'Accept: application/vnd.github.v3.raw' \
--remote-name \
--location https://api.github.com/repos/ORG/PROJECT/contents/FILE
用您的信息替换 CAPS 中的内容...