2013-12-17 6 views
13

Gibt es eine Möglichkeit, den Inhalt eines Git-Repos von der Unix-Befehlszeile herunterzuladen, die nicht alles im .git-Verzeichnis herunterzieht? Ich möchte nur die neueste Version der Repo-Verzeichnisse und Dateien, nicht alle Diffs.Laden Sie Git Repo ohne alle .git Zeug?

Ist es auch möglich, dies ohne einen Befehl git (vielleicht mit wget oder curl, zum Beispiel) zu erreichen?

Danke.

+0

Ja, es ist möglich, mit einem 'git' Befehl: http://stackoverflow.com/questions/1209999/using-git- zu bekommen-nur-die-neueste-Revision. Ich weiß nicht, was die innere Struktur des Git ist, aber ich bezweifle ernsthaft, wget oder curl wäre nützlich. – CompuChip

+0

Was zählen Sie als "Inhalt eines Git Repo"? Der Commit-Verlauf, der zur aktuellen Version führt, ist Teil eines Repository. Das Herunterladen der neuesten Version ist wie das Herunterladen der neuesten Version. ZIP: Keine Historie, nur die Dateien. Wenn es keine Veröffentlichung gibt, sollte 'git archive' helfen, siehe http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export – Sven

+0

Schließen - Über das Herunterladen von Dateien von eine Website, keine Programmierung oder über die Verwendung von DCVS – random

Antwort

7

Soweit ich weiß, ist das nächste, was Sie tun können, ein git clone --depth=1 (um mehr Informationen vom Server als Sie benötigen für die neueste Version abrufen) und löschen Sie dann das .git Verzeichnis danach. Soweit es git betrifft, ist das .git Verzeichnis der Repo; Die ausgecheckten Dateien sind nur für Ihre Bequemlichkeit da. :)

13

GitHub hat einen Link, um ein ZIP-Archiv des Repo zum Download, so versuchen

wget https://github.com/[user]/[repo]/archive/[branch].zip 

mit [user] verwenden, [repo] und [branch] mit den entsprechenden Feldern ersetzt.

+0

eingeben. Durch die API könnten Sie einen Tarball anstelle von einem Zipball auch erhalten. [Artikel] (https://help.github.com/articles/downloading-files-from-the-command-line) [API-Referenz] (http://developer.github.com/v3/repos/contents/#) get-archive-link) – Charlie

+0

@Charlie Sehr wahr, aber das OP bat um eine Lösung mit 'wget', also habe ich es ihnen gegeben. – randomusername

3

2. Teil: Sie können den Benutzernamen und Repo-Name korrekt ersetzt versuchen

wget http://github.com/[username]/[repo]/archive/master.zip