Abrufen von Remote-Änderungen mit git fetch
In diesem Schritt lernen wir, wie man Änderungen aus einem Remote-Git-Repository abruft. Stellen Sie sich vor, Sie arbeiten mit anderen zusammen und diese haben Änderungen am Projekt vorgenommen. git fetch
ist der Befehl, den Sie verwenden, um diese Änderungen auf Ihren lokalen Rechner herunterzuladen, ohne sie in Ihre aktuelle Arbeit zu mergen.
Zunächst simulieren wir das Vorhandensein eines Remote-Repositories. Wir erstellen ein einfaches Repository lokal zu Demonstrationszwecken.
cd ~/project
mkdir remote-repo
cd remote-repo
git init --bare
Dies erstellt ein "bare" (nacktes) Repository, das typischerweise als zentrales Remote-Repository verwendet wird. Jetzt kehren wir zu unserem my-time-machine
-Repository zurück und fügen dieses als Remote hinzu.
cd ~/project/my-time-machine
git remote add origin ../remote-repo
Wir haben ein Remote namens origin
hinzugefügt, das auf unser simuliertes Remote-Repository zeigt. Jetzt machen wir eine Änderung im Remote-Repository und holen sie dann ab.
cd ~/project/remote-repo
echo "This is a remote change." > remote_file.txt
git add remote_file.txt
git commit -m "Add remote file"
Jetzt kehren wir in unser my-time-machine
-Repository zurück und holen die Änderungen aus dem Remote-Repository ab.
cd ~/project/my-time-machine
git fetch origin
Sie sollten eine Ausgabe sehen, die darauf hinweist, dass Git die Änderungen aus dem Remote-Repository heruntergeladen hat. Etwa so:
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (2/2), 258 bytes | 258.00 KiB | elapsed 0.00s.
From ../remote-repo
* [new branch] master -> origin/master
Der git fetch
-Befehl lädt die Commits, Dateien und Referenzen aus dem Remote-Repository in Ihr lokales Repository herunter. Allerdings werden diese Änderungen nicht automatisch in Ihren aktuellen Arbeitsbranch gemergt. Dies ermöglicht es Ihnen, die Änderungen zu überprüfen, bevor Sie sie integrieren.
Denken Sie sich git fetch
wie das Abrufen der neuesten Updates aus einem Newsfeed. Sie sehen die Überschriften und Zusammenfassungen, aber Sie haben die vollständigen Artikel noch nicht gelesen. Sie können später entscheiden, welche Artikel (Änderungen) Sie lesen (mergen) möchten.