Ein Fetch holt den aktuellen Stand des Remote in dein lokales Repository, ohne deine Dateien anzufassen. Danach weißt du, was die anderen gemacht haben, und dein Arbeitsverzeichnis ist unverändert. Englisch to fetch heißt holen.
- Fetch
Das Holen des Remote-Stands, ohne die eigenen Dateien zu verändern.
Beispiel: „Ein Fetch zeigt, dass der Hauptzweig inzwischen 51 Commits weiter ist.“Danach liegt der fremde Stand als eigener Zweig vor, meist unter einem Namen wie
origin/main. Dein eigener Zweig bleibt, wo er war.Abgrenzung zum Pull: Der Pull ist ein Fetch mit anschließendem Zusammenführen. Der Fetch allein verändert nichts.
Wozu ein Fetch gut ist
Er trennt das Nachsehen vom Übernehmen. Du erfährst, was sich geändert hat, und entscheidest danach, ob und wie du es in deine Arbeit holst.
Das ist besonders dann wertvoll, wenn du mitten in einer Änderung steckst. Ein Pull würde den fremden Stand in deine Dateien mischen; ein Fetch lässt dich erst zu Ende arbeiten.
Was ein Fetch sichtbar macht
Den Abstand zwischen deinem Zweig und dem Remote, in beide Richtungen. Die Statusanzeige sagt danach etwa „ahead 2, behind 51“: Du hast zwei Commits, die niemand sonst kennt, und dir fehlen 51.
Ohne vorherigen Fetch ist diese Angabe wertlos, weil sie sich auf den letzten geholten Stand bezieht. Wer sie liest, ohne vorher zu holen, liest eine alte Auskunft.
Wann der Fetch in Vergessenheit gerät
Im Alltag fast immer, weil die Oberflächen der Editoren ihn im Hintergrund mitlaufen lassen und weil der Pull bequemer ist. Das ist in Ordnung, solange nichts schiefgeht.
Sobald etwas schiefgeht, ist der Fetch das erste Werkzeug. Er beantwortet die Frage, wie der Stand wirklich aussieht, ohne dabei etwas zu verändern, und das kann kein anderer Befehl.