Wie kann ich einen bestimmten Git-Zweig klonen?
Git clone wird sich so verhalten, dass der aktuelle Arbeitszweig in den lokalen Zweig kopiert wird.
Gibt es eine Möglichkeit, einen bestimmten Zweig selbst zu klonen, ohne die Zweige des entfernten Repositorys zu wechseln?
2764
3
Beispiel:
Bei Git 1.7.10 und später, fügen Sie
--single-branch
hinzu, um das Holen aller Zweige zu verhindern. Beispiel, mit OpenCV 2.4 Zweig:Die Option
--single-branch
ist gültig ab Version 1.7.10 und später.Bitte lesen Sie auch die andere Antwort, die viele Leute bevorzugen.
Vielleicht möchten Sie auch sicherstellen, dass Sie den Unterschied verstehen. Und der Unterschied ist: wenn Sie
git clone --branch url
aufrufen, holen Sie alle Zweige und checken einen aus. Das kann z.B. bedeuten, dass Ihr Repository einen 5kB Dokumentations- oder Wiki-Zweig und einen 5GB Daten-Zweig hat. Und immer wenn Sie Ihre Startseite bearbeiten wollen, kann es sein, dass Sie 5 GB an Daten klonen müssen.Das soll wiederum nicht heißen, dass
git clone --branch
nicht der richtige Weg ist, um das zu erreichen, es ist nur nicht immer das, was Sie erreichen wollen, wenn Sie nach dem Klonen eines bestimmten Zweiges fragen.Zum Zeitpunkt des Schreibens der ursprünglichen Antwort unten hatte Git keine
--single-branch
Option, aber wir wollen sie zur vollen Zufriedenheit der wütenden Bienen beibehalten.Die Antwort, die von den Kopierern so sehr missbilligt wurde, war diese:
Erstellen Sie eine Verzweigung auf dem lokalen System mit diesem Namen. z.B. sagen Sie, Sie möchten die Verzweigung mit dem Namen "branch-05142011" erhalten
git branch branch-05142011 origin/branch-05142011
Sie erhalten eine Meldung wie - "Zweig branch-05142011 eingerichtet, um den entfernten Zweig branch-05142011 von origin zu verfolgen."
Jetzt checken Sie den Zweig aus wie unten und Sie haben den Code -
git checkout branch-05142011