无法从Private Repo下载Git归档tar包

时间:2012-04-06 16:05:25

标签: git github

我需要能够在特定标签下载我们的应用程序,但我无法为此找到有效的解决方案。基于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

3 个答案:

答案 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中的内容......