Remote-Repository abrufen und 'git log @{u}' prüfen
In diesem Schritt lernen wir, wie man Änderungen von einem Remote-Repository abruft und wie man mit git log @{u} vergleicht, wie sich unser lokaler Branch zum Remote-Branch verhält.
Zunächst simulieren wir das Vorhandensein eines Remote-Repositorys. In der Realität würde dies auf einer Plattform wie GitHub oder GitLab liegen, aber für dieses Lab verwenden wir ein lokales Verzeichnis als unser "Remote".
Navigieren Sie in Ihr Projektverzeichnis:
cd ~/project/my-time-machine
Fügen wir nun ein Remote namens origin hinzu, das auf ein simuliertes Remote-Repository zeigt. Wir gehen davon aus, dass ein Remote-Repository im setup-Abschnitt eingerichtet wurde.
git remote add origin ../my-time-machine-remote
Dieser Befehl teilt Ihrem lokalen Git-Repository mit, dass es ein weiteres Repository unter ../my-time-machine-remote gibt und wir es origin nennen.
Lassen Sie uns nun die neuesten Änderungen von diesem Remote abrufen. Der Befehl git fetch lädt Commits, Dateien und Referenzen von einem Remote-Repository in Ihr lokales Repository herunter. Es führt keine automatische Merge-Operation durch oder ändert Ihre aktuelle Arbeit nicht.
git fetch origin
Sie sollten eine Ausgabe sehen, die anzeigt, dass Git von dem Remote-Repository abruft.
Nach dem Abrufen können wir git log @{u} (oder git log origin/master in diesem Fall, da origin/master der Upstream-Branch für master ist) verwenden, um die Commits auf dem Remote-Branch anzuzeigen, die noch nicht auf unserem lokalen Branch vorhanden sind. Die Syntax @{u} oder @{upstream} bezieht sich auf den Upstream-Branch des aktuellen Branches.
git log @{u}
Da unser lokaler master-Branch von Grund auf neu erstellt wurde und der Remote-master-Branch (simuliert) ebenfalls leer begann und wir noch keine Commits an den Remote hinzugefügt haben, zeigt dieser Befehl möglicherweise keine Ausgabe an oder er zeigt den Initial-Commit an, wenn das Remote-Repository mit einem initialisiert wurde. Der Wichtige Teil ist das Verständnis, was dieser Befehl tut: Er zeigt die Commits an, die auf dem Upstream-Branch (origin/master) aber nicht auf Ihrem aktuellen lokalen Branch (master) sind.
Das Verständnis der Unterschiede zwischen Ihrem lokalen Branch und dem Remote-Branch ist entscheidend für die Zusammenarbeit und die Aktualität Ihres Projekts. git fetch und git log @{u} sind leistungsstarke Tools, um den Zustand des Remote-Repositorys zu untersuchen, ohne Ihr lokales Arbeitsverzeichnis zu ändern.