21

特定のタグでアプリケーションをダウンロードする機能が必要ですが、これに対する実用的な解決策を見つけることができません。gitタグに基づいてtarballをダウンロードすることは有望なようですが、Curlを使用して動作させることができません。私は次のことを試しましたが、返されるのはgithub404ページのソースだけです。

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
4

3 に答える 3

29

公開リポジトリの場合、いくつかの例をリストしたこの要点があります。

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

または、SO の質問「git と同等svn exportまたは github の回避策」のように curl コマンドを使用します。「 GitHub の API を使用した curl チュートリアル
」でも詳細に説明されています。


OP Steven Jpcurlは、コマンドが機能したことを報告しています。

最終的な 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
于 2012-04-07T09:47:47.743 に答える
17

アクセストークンを作成後、

あなたが使用することができます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 リファレンスを参照してください

于 2014-09-11T08:36:10.510 に答える
1

Github.com でプライベート Org にログインし、ここにアクセスしてトークンを作成します: https://github.com/settings/applications#personal-access-tokens

プライベート Org に Curl しようとするときは、次を使用します。

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 の内容を自分の情報に置き換えてください...

于 2014-09-12T15:37:55.373 に答える