GIT mit Pfad fetch anstelle der entfernten
-
26-09-2019 - |
Frage
verstehe ich die Idee git fetch <remote>
laufen, da die Remote-Niederlassungen stehen dann mit git checkout <remote>/<branch>
.
Aber wie funktioniert es, wenn ich nur laufen
git fetch path/to/other/repo
Wie kann ich die entsprechenden Zweige Kasse? Beachten Sie, dass der Betrieb läuft unbemerkt (auch mit --verbose
), und dass kein neuer Zweig erzeugt wird.
Bearbeiten : nur klar zu sein: ich vollkommen verstehen, wie git Arbeiten mit Fernbedienungen. Ich bin nur neugierig auf diese alternative Syntax git fetch path/to/remote
oder git fetch <url>
. Wie wird es funktionieren soll? Warum schaffen es nicht neue Filialen? Warum läuft es still, auch im ausführlichen Modus? Was ist die beabsichtigte Verwendung?
Lösung 2
Ich denke, die beste Erklärung (viel besser als die docs) ist ein Antwort auf eine andere Frage von Jakub Narebski .
Grundsätzlich gilt:
git fetch <path>
holt nur den HEAD
Zweig der Fernbedienung, und speichert sie lokal in FETCH_HEAD
.
git fetch <path> <branch>
holt die Filiale in der Remote-Repo und speichert sie in FETCH_HEAD
.
Weitere erweiterte Nutzungen sind in Jakub Narebski Antwort, aber, wie er selbst sagt, ist der beste Weg zu holen genannt Fernbedienungen verwenden.
Andere Tipps
Auch wenn es in Bezug auf Dateisystem "local" ist, ein anderes Repository ist eine Remote-Repository.
Wenn Sie es verwenden möchten, fügen Sie es als ein Remote-Repository zuerst (auch wenn die URL lokal ist):
git remote add <name> <url>
Dann fahren Sie mit git fetch
(und andere Befehle) in der gleichen Weise wie mit Repository auf entfernten Rechnern.
EDIT:
Wenn Sie eine einfache git fetch
von einem lokalen Pfad tun, erstellt es einen neuen pseudo-Zweig genannt FETCH_HEAD
. Sie können es in einem neuen Zweig zum Beispiel überprüfen mit:
git checkout -b new_branch FETCH_HEAD
Sie müssen explizit eine refspec
zu git fetch
passieren, um die Remote-Niederlassungen zu erhalten. git help fetch
sollte helfen.