我需要能够在特定标签下载我们的应用程序,但我无法为此找到有效的解决方案。基于git标签下载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
答案 0 :(得分:28)
对于公开回购,您有this gist列举了一些示例:
wget --no-check-certificate https://github.com/sebastianbergmann/phpunit/tarball/3.5.5 -O ~/tmp/cake_phpunit/phpunit.tgz
对于私人仓库,请尝试在邮政指令中传递凭证信息:
wget --quiet --post-data="login=${login}&token=${token}" --no-check-certificate https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m
或者在问题“git equivalent to svn export
or github workaround”中使用curl命令,也详细解释如下:
“A curl tutorial using GitHub's API”。
使curl
命令工作的OP Steven Jp报告:
最终的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
答案 1 :(得分:14)
创建access token后,
您可以使用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's API reference for archive links中找到。
答案 2 :(得分:1)
登录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中的内容......