ローカルマシンの「git」にアクセスできないプライベートリポジトリをGitHubからダウンロードするにはどうすればよいですか?


9

私がしたいことは、GitHubからプライベートリポジトリアーカイブをダウンロードし、それを抽出し、アーカイブファイルを削除して、ダウンロードしたプロジェクト内のディレクトリをコピーすることです。

使用しようとしましたwgetが、自分を認証できません。

wget --header='Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz -O - | tar xz

私も試しましたcURL

curl -i -H 'Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz > file.tar.gz | tar xz

ここで承認は通過しますが、ファイルを抽出できません。

どうやってするか?


なぜ使用しないのですgit clone https://github.com/MY_USER/MY_REPOか?
Tero Kilkanen 14年

1
gitがないサーバーで実行しているためです。
Kamil Lelonek 2014年

あなたの問題を解決する可能性があります:stackoverflow.com/questions/23347134/...
errordeveloper

回答:


4

の解決策wgetは次のようになります:

wget --header="Authorization: token <OAUTH-TOKEN>" -O - \
    https://api.github.com/repos/<owner>/<repo>/tarball/<version> | \
    tar xz --strip-components=1 && \
    cp -r <dir1> <dir2> ... <dirn> <destination-dir>/

ノート:

  • --strip-components=1 GitHubで作成されたアーカイブに含まれている最上位ディレクトリを削除します。
  • 必ず末尾を入れていないことを確認してください/にコピーされるディレクトリの終わりにcp<dir1><dir2>、...、 <dirn>)と末尾がいることを/先ディレクトリの末尾に存在しています(<destination-dir>)。

0

独自の「パーソナルアクセストークン」がある場合、curlコマンドを使用して、リポジトリのブランチのアーカイブをダウンロードできます。

curl -k --header "PRIVATE-TOKEN: xxxx" https://gitlab.xxxxx/api/v4/projects/<projectID>/repository/archive?sha=630bc911c1c20283d3980dcb95fd5cb75479bb9c -o myFilename.tar.gz

ProjectIDは、リポジトリのメインページに表示されます。

プルダウンから必要なブランチを選択し、SHAの右側の値をコピーした後、webUIからSHA値を取得できます。下のスクリーンショットを参照してください。

ここに画像の説明を入力してください

これを行うもう1つの方法は、次のようなwgetを使用することです。

wget --no-check-certificate -O myFilename.zip --header=PRIVATE-TOKEN:xxxx "https://gitlab.xxxx/api/v4/projects/<projectID>/repository/archive.zip?sha=630bc911c1c20283d3980dcb95fd5cb75479bb9c"

お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.