Ich habe einige Remote-Tracking-Zweige in Git eingerichtet, aber ich scheine nie in der Lage zu sein, sie mit dem lokalen Zweig zusammenzuführen, wenn ich sie mit "Git Fetch" aktualisiert habe.
Angenommen, ich habe einen Remote-Zweig namens "an-other-branch". Ich habe das lokal als Tracking-Zweig mit eingerichtet
git branch --track an-other-branch origin/an-other-branch
So weit, ist es gut. Wenn dieser Zweig jedoch aktualisiert wird (normalerweise, indem ich den Computer verschiebe und von diesem Computer aus festschreibe) und ich ihn auf dem ursprünglichen Computer aktualisieren möchte, treten Probleme beim Abrufen / Zusammenführen auf:
git fetch origin an-other-branch
git merge origin/an-other-branch
Immer wenn ich das mache, erhalte ich die Meldung "Bereits aktuell" und nichts wird zusammengeführt.
Ein
git pull origin an-other-branch
aktualisiert es immer wie erwartet.
Auch läuft Git Diff
git diff origin/an-other-branch
zeigt, dass es Unterschiede gibt, also denke ich, dass meine Syntax falsch ist.
Was mache ich falsch?
EDIT [2010-04-09]: Ich habe ein paar Mal nachgesehen und bin definitiv nicht in einem anderen Zweig. Sollte mein 'Git Fetch' gefolgt von einem 'Git Merge' (wie oben gezeigt) genau dasselbe tun wie ein Git Pull? Ich werde einen Workflow erhalten, der die Ergebnisse eines Git-Status usw. zeigt.
git fetch origin an-other-branch
Speichert das abgerufene TrinkgeldFETCH_HEAD
, jedoch nichtorigin/an-other-branch
(dh den üblichen "Remote Tracking Branch"). Man könnte es also tungit fetch origin an-other-branch && git merge FETCH_HEAD
, aber es zu tun, wie @Gareth sagt, ist besser (oder einfach Git Pull verwenden ).