Probleme beim Herunterladen von Git-Archiv-Tarballs von Private Repo

Lesezeit: 3 Minuten

Probleme beim Herunterladen von Git Archiv Tarballs von Private Repo
SJP

Ich brauche die Möglichkeit, unsere Anwendung unter bestimmten Tags herunterzuladen, aber ich kann keine funktionierende Lösung dafür finden. Das Herunterladen von Tarballs basierend auf dem Git-Tag scheint vielversprechend zu sein, aber ich kann es mit Curl nicht zum Laufen bringen. Ich habe Folgendes versucht, aber alles, was ich zurückbekomme, ist die Quelle für die Github 404-Seite.

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

  • Haben Sie dasselbe URL-Schema in einem öffentlichen Repo ausprobiert?

    – KarlB

    6. April 12 um 16:13 Uhr

  • Hast du wget probiert? Oder verwenden Sie einfach git, um den Code von einem bestimmten Tag zu klonen?

    – Andrew T. Finnell

    6. April 12 um 17:09 Uhr

Probleme beim Herunterladen von Git Archiv Tarballs von Private Repo
VonC

Für öffentliche Repos haben Sie dieses Wesentliche einige Beispiele aufzählen:

wget --no-check-certificate https://github.com/sebastianbergmann/phpunit/tarball/3.5.5 -O ~/tmp/cake_phpunit/phpunit.tgz

Versuchen Sie für ein privates Repo, Ihre Anmeldeinformationen in einer Post-Direktive zu übergeben:

wget --quiet --post-data="login=${login}&token=${token}" --no-check-certificate https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m

Oder verwenden Sie einen Curl-Befehl wie in der SO-Frage „git-Äquivalent zu svn export oder github workaround”, auch ausführlich erklärt in:
Ein Curl-Tutorial mit der API von GitHub“.


Der OP Steven Jp berichtet, dass er das gemacht hat curl Befehlsarbeit:

Der letzte Curl-Befehl sah ungefähr so ​​​​aus:

curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar

(zur besseren Lesbarkeit in mehreren Zeilen)

curl -sL --user "${username}:${password}" 
  https://github.com/$account/$repo/tarball/$tag_name
  > tarball.tar

  • Ihr zweiter Link hat mir geholfen, die Dinge zum Laufen zu bringen. Der letzte Curl-Befehl sah ungefähr so ​​​​aus curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar

    – SJP

    9. April 2012 um 17:40 Uhr

  • @Steven_JP Ausgezeichnet. Ich habe Ihren Befehl zur besseren Sichtbarkeit in die Antwort aufgenommen.

    – VonC

    9. April 12 um 17:42 Uhr

  • Ich bin mir nicht sicher, ob diese wget-Beispiele noch funktionieren würden, aber das hat bei mir funktioniert: stackoverflow.com/questions/23347134/…

    – Fehlerentwickler

    28. April 14 um 17:37 Uhr

Probleme beim Herunterladen von Git Archiv Tarballs von Private Repo
tjanez

Nach dem Erstellen einer Zugangstoken,

Sie können verwenden wget:

wget --output-document=<version>.tar.gz 
    https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN>

oder curl:

curl -L https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> 
    > <version>.tar.gz

Weitere Informationen finden Sie unter GitHubs API-Referenz für Archivlinks.

  • Es kann sein, dass Sie das Argument „–no-check-certificate“ hinzufügen müssen: wget --no-check-certificate --output-document=<version>.tar.gz https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN>

    – Vinzenz Claes

    8. Oktober 18 um 7:11 Uhr


  • Das war es, was mir am nächsten kam. Der einzige Unterschied besteht darin, dass die GitHub-API jetzt das Token im Header der Anfrage haben möchte. Z.B. curl -L -H "Authorization: token <token>" https://api.github.com/repos/<owner>/<repo>/tarball/<tag> > out.tar.gz

    – Kahitarich

    25. Dezember 21 um 0:32 Uhr

Melden Sie sich auf Github.com bei Ihrer privaten Organisation an und gehen Sie dann hierher, um Ihr Token zu erstellen:
https://github.com/settings/applications#personal-access-tokens

Verwenden Sie Folgendes, wenn Sie versuchen, sich in Ihre private Organisation einzuklinken:

curl --header 'Authorization: token ADDACCESSTOKENHERE' 
 --header 'Accept: application/vnd.github.v3.raw' 
 --remote-name 
 --location https://api.github.com/repos/ORG/PROJECT/contents/FILE

Ersetzen Sie, was in GROSSBUCHSTABEN steht, durch Ihre Informationen…

  • Aus irgendeinem Grund hatte ich Probleme damit, mehrere Header mit curl an die Github-API zu senden, um ein binäres Asset herunterzuladen, wenn ein Header für die Authentifizierung bestimmt ist. Es gibt die XML-Antwort “Nur ein Authentifizierungsmechanismus erlaubt; nur der X-Amz-Algorithmus-Abfrageparameter, der Signatur-Abfragezeichenfolgenparameter oder der Autorisierungs-Header sollten angegeben werden” zurück. Aber wenn ich die Authentifizierung von einem Header in einen Abfragezeichenfolgenparameter geändert habe, funktioniert es. Also nur diese Eigenart erwähnen.

    – David

    22. September 15 um 19:12 Uhr

.

821790cookie-checkProbleme beim Herunterladen von Git-Archiv-Tarballs von Private Repo

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy