Alle Antworten, die ich hier gesehen habe, sind gültig, aber es gibt eine viel sauberere Möglichkeit, ein Repository zu klonen und alle Zweige gleichzeitig abzurufen.
Wenn Sie ein Repository klonen, werden alle Informationen der Zweige tatsächlich heruntergeladen, aber die Zweige werden ausgeblendet. Mit dem Befehl
$ git branch -a
Sie können alle Zweige des Repositorys und mit dem Befehl anzeigen
$ git checkout -b branchname origin/branchname
Sie können sie dann einzeln manuell "herunterladen".
Wenn Sie jedoch ein Repo mit vielen Zweigen klonen möchten, sind alle oben dargestellten Methoden langwierig und langwierig in Bezug auf eine viel sauberere und schnellere Methode, die ich zeigen werde, obwohl sie etwas kompliziert ist. Sie benötigen drei Schritte, um dies zu erreichen:
- Erster Schritt
Erstellen Sie einen neuen leeren Ordner auf Ihrem Computer und klonen Sie eine Spiegelkopie des .git-Ordners aus dem Repository:
$ cd ~/Desktop && mkdir my_repo_folder && cd my_repo_folder
$ git clone --mirror https://github.com/planetoftheweb/responsivebootstrap.git .git
Das lokale Repository im Ordner my_repo_folder ist noch leer. Es gibt nur noch einen versteckten .git-Ordner, den Sie mit einem "ls -alt" -Befehl vom Terminal aus sehen können.
- Zweiter Schritt
Wechseln Sie dieses Repository von einem leeren (nackten) Repository zu einem regulären Repository, indem Sie den booleschen Wert "bare" der Git-Konfigurationen auf false setzen:
$ git config --bool core.bare false
- Dritter Schritt
Holen Sie sich alles, was sich im aktuellen Ordner befindet, und erstellen Sie alle Zweige auf dem lokalen Computer. Dies macht dies zu einem normalen Repo.
$ git reset --hard
Jetzt können Sie einfach den Befehl "git branch" eingeben und sehen, dass alle Zweige heruntergeladen wurden.
Dies ist die schnelle Methode, mit der Sie ein Git-Repository mit allen Zweigen gleichzeitig klonen können. Dies möchten Sie jedoch nicht für jedes einzelne Projekt auf diese Weise tun.
git branch -a
) zeigt Ihnen die Zweige in der Fernbedienung. Wenn Sie jedoch versuchen, einen dieser Zweige auszuchecken, befinden Sie sich in einem Status "getrennter KOPF". Die nächste Antwort nach unten (zweithöchste Upvotes) beantwortet eine andere Frage (das heißt: Wie werden alle Zweige gezogen, und dies funktioniert wiederum nur für diejenigen, die Sie lokal verfolgen). In mehreren Kommentaren wird darauf hingewiesen, dass Sie diegit branch -a
Ergebnisse mit einem Shell-Skript analysieren können, das alle Remote-Zweige lokal verfolgt. Zusammenfassung: Es gibt keinen git-nativen Weg, um das zu tun, was Sie wollen, und es ist vielleicht sowieso keine so gute Idee.