Auf diese Weise lade ich verschiedene Hauptzweige von GitHub herunter und möchte ein schöneres Skript haben (und vielleicht zuverlässiger?).
wget -P ~/ https://github.com/user/repository/archive/master.zip
unzip ~/master.zip
mv ~/*-master ~/dir-name
Kann das irgendwie auf eine Zeile gekürzt werden, vielleicht mit Teer und Pfeife?
Bitte beheben Sie Probleme beim direkten Herunterladen in das Home-Verzeichnis ~/
und haben Sie einen bestimmten Namen für das Verzeichnis ( mv
wirklich benötigt?).
git show
odergit log
zu sehen, was sich zwischen den Versionen geändert hat.unzip
sollte ein Argument für ein Verzeichnis nehmen, in das extrahiert werden soll, damit Sie zuerst das übergeordnete Verzeichnis erstellen könnenAntworten:
Der kürzeste Weg, der zu sein scheint, was Sie wollen, wäre
git clone https://github.com/user/repository --depth 1 --branch=master ~/dir-name
. Dadurch wird nur der Hauptzweig kopiert, so wenig zusätzliche Informationen wie möglich kopiert und in gespeichert~/dir-name
.quelle
.git
mit vielen Dateien erstellt wurde. Gibt es eine Notwendigkeit, dieses Verzeichnis zu erstellen? Gibt es eine Möglichkeit, das Erstellen zu vermeiden?git checkout
. Als zusätzlichen Bonus müssen Sie, wenn Sie in Zukunft die neueste Version erhalten möchten,git pull
nur eine kleine Datenmenge herunterladen, um darzustellen, was sich geändert hat, anstatt das Ganze erneut herunterzuladen..git
Verzeichnisses vermeiden können , aber Sie können es sicher löschen, nachdem der Befehl ausgeführt wurde. Ich kann mir keinen Grund vorstellen, warum es ein Problem wäre, es zu schaffen. Wenn Sie dies tun, verlieren Sie jedoch die Möglichkeit, problemlos auf eine zukünftige Revision zu aktualisieren..git/
Ordner finden Sie unter: stackoverflow.com/questions/5337025/…Dadurch werden die Dateien in ein neues Verzeichnis geklont, das erstellt wird:
quelle
Beginnen wir mit der Bash-Funktion, die ich für meinen persönlichen Gebrauch zur Hand hatte:
Sie möchten, dass die Datei immer master.zip heißt und immer in Ihr Home-Verzeichnis heruntergeladen wird.
Es gibt jedoch einige Dinge zu beachten:
1) Mein ursprüngliches Skript gibt Ihnen für jeden Download einen eindeutigen Namen für die Download-Zip-Datei, basierend auf dem Namen des Github-Repositorys. Dies ist im Allgemeinen das, was die meisten Leute wirklich wollen, anstatt dass alles aufgerufen wird
master
und sie anschließend manuell umbenannt werden müssen, um die Eindeutigkeit zu gewährleisten. In dieser Version des Skripts können Sie den Wert von $ out_file verwenden, um den entpackten Stammverzeichnisbaum eindeutig zu benennen.2) Wenn Sie wirklich möchten, dass alle heruntergeladenen
zip
Dateien benannt werden~/master.zip
, möchten Sie sie nach dem Entpacken löschen?3) Da Sie anscheinend immer alles im Verzeichnis haben möchten
~/myAddons
, warum nicht alle Vorgänge dort ausführen und sich die Notwendigkeit ersparen, das entpackte Verzeichnis zu verschieben?quelle
Hier sind einige Oneliner- Möglichkeiten:
quelle