Die Antwort hängt von der aktuellen Liste der Verfolgungszweige ab, die Sie haben. Sie können einen bestimmten Zweig aus der Ferne abrufen mit git fetch <remote_name> <branch_name>
nur wenn der Zweig bereits in der Liste der Verfolgungszweige enthalten ist (Sie können dies mit git branch -r
).
Nehmen wir an, ich habe den Remote-Zweig zuvor mit der Option --single-branch geklont, und in diesem Fall ist der einzige Tracking-Zweig, den ich habe, der "geklonte". Ich bin ein wenig verwirrt von den Ratschlägen, die Git-Konfiguration manuell zu ändern, sowie durch die Eingabe von git remote add <remote_name> <remote_url>
Befehle. Da "git remote add" ein neues entferntes Repository einrichtet, funktioniert es offensichtlich nicht mit dem vorhandenen entfernten Repository; die Angabe der Option "-t branch" hat mir nicht geholfen.
Falls die Gegenstelle existiert und der Zweig, den Sie abrufen wollen, in dieser Gegenstelle existiert:
- Prüfen Sie mit
git branch -r
ob Sie diesen Zweig als Verfolgungszweig sehen können. Wenn nicht (wie in meinem Fall mit einem einzelnen Zweigklon), fügen Sie diesen Zweig mit "git remote set-branches" mit der Option --add zur Liste der verfolgenden Zweige hinzu:
git remote set-branches --add <remote_name> <branch_name>
- Holen Sie den Zweig, den Sie hinzugefügt haben, aus der Ferne:
git fetch <remote_name> <branch_name>
Hinweis: Erst nachdem der neue Verfolgungszweig von der Gegenstelle geholt wurde, können Sie ihn in der Verfolgungszweigliste mit git branch -r
.
- Erzeugen Sie einen neuen lokalen Zweig mit "checkout --track", der denselben "branch_name" erhält wie ein Tracking-Zweig:
git checkout --track <remote_name>/<branch_name>
3 Stimmen
Ein Git-Klon holt sich das gesamte Repository, einschließlich aller Zweige. Sie können flache Kopien erstellen, aber dabei können Sie nur die Anzahl der Revisionen angeben, nicht aber die Zweige.
2 Stimmen
Git clone nimmt nur master. git fetch nimmt alle Zweige
0 Stimmen
"Ein Git-Klon holt das gesamte Repository, einschließlich aller Zweige" - das stimmt nicht unbedingt, wenn Sie genau einen Zweig holen, holt Git alle Repository-Objekte, die Vorfahren des Zweigs sind. Viele andere Zweige bleiben möglicherweise unberücksichtigt. Repositorys mit vielen Zweigen (Tausende) können die Latenzzeit verbessern, indem nur bestimmte Zweige geholt werden.