git fetch

Mit diesem Basis-Download-Kommando werden einfach die zum Lokal-Branch abweichenden (neuen) Commits heruntergeladen und mit den Remote-Tracking-Branches referenziert.

Git - Fetch

Git - Fetch (gitbu.ch)

Hinweis: Darstellung aus gitbu.ch (siehe auch Literatur).

Das Basiskommando git fetch arbeitet mit den Spezifikationen, die in der Git-Config mittels der Reference Specifications (RefSpec) hinterlegt sind.

Also schauen uns wir uns wieder .git/config an:

$ cat .git/config
...
[remote "origin"]
        url = git://github.com/esc/git-cheatsheet-de.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

Die RefSpec werden automatisch mittels git clone oder git remote add aktualisiert.

Die komplette Syntax wäre git fetch origin master - hole (fetch) aus origin (siehe RefSpec) den Branch master

Um die Neuerungen mit lokalen Zweigen zu verschmelzen benötigen wir noch ein git merge.

Wenn man andere Branches, als den (meist) per RefSpec verdrahteten master fetchen will, dann führt man ein git checkout durch:

$ git checkout -b next origin/next   # komplette Syntax
$ git checkout next                  # ausreichende Info, falls lokal kein Branch next

Immer auch hierbei beachten: alle Arbeiten finden lokal statt, auch wenn wir hier jetzt durch Checkouts mit Remote-Tracking-Branches arbeiten.

Nur durch git push werden Änderungen (online) veröffentlicht!