Wie lade ich Binärdateien einer GitHub-Version herunter?
Lesezeit: 5 Minuten
Tyler Pfaff
Ich habe ein Repo mit Binärdateien darin, die ich brauche.
Ich kann
git checkout tags/thetagoftherelease
was anscheinend das richtige Tag auscheckt, aber die Binärdateien nicht herunterzieht. Wie kann ich die Binärdateien herunterladen, die der Version hinzugefügt wurden (die grünen Kästchen auf der Version)?
Bild von Binärdateien in einer Version hinzugefügt.
Abwertungen ohne Kommentare sind nicht hilfreich
– Tyler Pfaff
18. September 14 um 23:24 Uhr
Ziehen oder Kasse? Das sind zwei sehr unterschiedliche Begriffe in Git. Auch was “grüne Kästen”?
– jub0bs
18. September 14 um 23:26 Uhr
Entschuldigung, war umgangssprachlich mit pull. Grüne Kästchen wie in, hinzugefügte Binärdateien zu einer Veröffentlichung auf Git. Sie werden als grüne Kästchen angezeigt, die Sie manuell auf GitHub herunterladen können. Ich möchte diese hinzugefügten Binärdateien aus der Version herunterladen. Beim Auschecken des Release-Tags werden mir die Binärdateien nicht angezeigt.
– Tyler Pfaff
18. September 14 um 23:30 Uhr
Soweit ich weiß, sind diese Releases eine GitHub-Funktion und nicht Teil Ihres Repos. Ich glaube nicht, dass Sie sie mit Git-Befehlen von GitHub herunterladen können.
– jub0bs
18. September 14 um 23:34 Uhr
Danke @Jubobs, ich akzeptiere das als Antwort, wenn du es postest.
– Tyler Pfaff
19. September 14 um 0:03 Uhr
Ted
Ich habe tagelang versucht, die richtige Antwort darauf zu finden, und schließlich habe ich herausgefunden, wie das mit dem Curl-Befehl geht. Es ist ein 3-stufiger Prozess.
Um zunächst eine Liste der Assets für die neueste Version zu erhalten:
beste Antwort, danke. Vergessen Sie curl, verwenden Sie die httpie.org (CLI-HTTP-Client, benutzerfreundlicher Curl-Ersatz mit intuitiver Benutzeroberfläche, JSON-Unterstützung, Syntaxhervorhebung, Wget-ähnliche Downloads, Erweiterungen usw.)
– Frekel
10. Juli 16 um 17:41 Uhr
Stellen Sie sicher, dass Sie die s3-URL in Anführungszeichen setzen. Sonst bekommt curl es nicht richtig hin.
– Erick A. Montañez
22. Februar ’18 um 12:00 Uhr
Binäre Release-Assets existieren außerhalb von Git und können nicht mit den Standardtools verwaltet werden.
Sie sollten jedoch über die API von GitHub verfügbar sein.
Wenn Sie den binären Inhalt des Assets herunterladen möchten, übergeben Sie einen Medientyp von "application/octet-stream". Die API leitet den Client entweder an den Standort weiter oder streamt ihn, wenn möglich, direkt. API-Clients sollten sowohl a 200 oder 302 Antwort.
Wie dokumentiert, sind diese Anforderungen alle relativ zu https://api.github.com.
Dies ist ein Mini-Skript zum Herunterladen eines Assets, das seinen Dateinamen kennt (kann leicht geändert werden, um andere Assets herunterzuladen:
Beachten Sie, dass wget cat erhalten Sie es direkt, indem Sie dem Download-Link folgen, wie es ein Browser tut.
Umschreiben $URL wie du es brauchst. Meine Konvention besteht darin, mit einem Suffix für die Binärversion hochzuladen.
Ein Beispielskript:
#!/bin/bash
#
# You can fetch some binary directly from release on github
#
# We encourage to build your own version from source.
#
GIT_USER=me
GIT_PROJECT=project_name
BASE_URL=https://github.com/$GIT_USER/$GIT_PROJECT/releases/download
RELEASE=v0.6.3-alpha1
BINARY=bin_file_on_release
if [[ -e $BINARY ]]
then
echo "file in the way: '$BINARY' remove it."
exit 1
fi
if [[ $(getconf LONG_BIT) == "64" ]]
then
echo "I'm 64-bits"
URL="$BASE_URL/$RELEASE/$BINARY"
else
echo "I'm 32-bits"
URL="$BASE_URL/$RELEASE/${BINARY}-32bits"
fi
set -e
echo "Fetching from: $URL"
wget -q -O $BINARY "$URL"
file $BINARY
chmod a+x $BINARY
Einstufiger Prozess:
Hier ist ein Einzeiler (ohne Authentifizierung) Ich habe in einem Skript zum Download verwendet Digitaler Ozean‘S doctl Schnittstelle von Github. Es packt einfach die NEUESTE Release und entTARs es:
curl -sL $(curl -s https://api.github.com/repos/digitalocean/doctl/releases/latest | grep "http.*linux-amd64.tar.gz" | awk '{print $2}' | sed 's|[",]*||g') | tar xzvf -
Wenn Sie kein Linux verwenden, ersetzen Sie "http.*linux-amd64.tar.gz" oben mit “darwin”, “windows”, etc und dem entsprechenden arch.
HINWEIS: Obenstehendes sollen Ich arbeite programmgesteuert mit Binärdateien aus anderen Github-Repos, aber ich habe es nur mit getestet doctl. HTH-
.
6744100cookie-checkWie lade ich Binärdateien einer GitHub-Version herunter?yes
Abwertungen ohne Kommentare sind nicht hilfreich
– Tyler Pfaff
18. September 14 um 23:24 Uhr
Ziehen oder Kasse? Das sind zwei sehr unterschiedliche Begriffe in Git. Auch was “grüne Kästen”?
– jub0bs
18. September 14 um 23:26 Uhr
Entschuldigung, war umgangssprachlich mit pull. Grüne Kästchen wie in, hinzugefügte Binärdateien zu einer Veröffentlichung auf Git. Sie werden als grüne Kästchen angezeigt, die Sie manuell auf GitHub herunterladen können. Ich möchte diese hinzugefügten Binärdateien aus der Version herunterladen. Beim Auschecken des Release-Tags werden mir die Binärdateien nicht angezeigt.
– Tyler Pfaff
18. September 14 um 23:30 Uhr
Soweit ich weiß, sind diese Releases eine GitHub-Funktion und nicht Teil Ihres Repos. Ich glaube nicht, dass Sie sie mit Git-Befehlen von GitHub herunterladen können.
– jub0bs
18. September 14 um 23:34 Uhr
Danke @Jubobs, ich akzeptiere das als Antwort, wenn du es postest.
– Tyler Pfaff
19. September 14 um 0:03 Uhr