Sehen Sie sich die am Remote-Repository vorgenommenen Änderungen an, ohne die Dateien tatsächlich in Ihr lokales Repository zu ziehen.
Mit dem Git- fetchBefehl können Sie erst nachschauen, bevor Sie loslegen. Sie können herausfinden, welche Änderungen an einem Remote-Repository vorgenommen wurden, ohne jedoch Ihre lokalen Dateien mit den Remote-Dateien zu überschreiben.
Was ist Git Fetch und was macht es?
Der fetchBefehl in Git lädt Commits, Dateien und andere Informationen sicher von einem Remote-Repository in Ihr lokales Repository herunter. Verwenden Sie fetch, wenn Sie sehen möchten, welche Änderungen andere Entwickler vorgenommen haben, ohne gezwungen zu sein, die Änderungen zu akzeptieren. Ihre lokalen Dateien bleiben unberührt. Warum ist das wichtig?
Wenn Sie als Teil eines Entwicklungsteams arbeiten, müssen Sie einen klaren Kopf bewahren. Das Remote- oder zentrale Repository enthält Änderungen und neue Zweige, die andere Entwickler erstellt und in das Remote-Repository übertragen haben.
Es ist durchaus möglich, dass jemand die Remote-Kopie der Dateien aktualisiert hat, die Sie lokal auf Ihrem Computer geändert haben. Wenn Sie beiläufig eine Aktualisierung Ihres lokalen Repositorys durchführen git pull, werden Sie wahrscheinlich feststellen, dass Sie Zusammenführungen für Änderungen vornehmen müssen, die Sie möglicherweise gar nicht möchten.
Nachdem Sie die Informationen heruntergeladen haben, können Sie sie prüfen und die Änderungen sehen. So können Sie eine fundierte Entscheidung darüber treffen, was Sie jetzt zusammenführen möchten, wenn überhaupt, und was Sie auf später verschieben möchten.
Git fetch vs. pull
Der git fetch Befehl verhält sich wie der git pullBefehl, jedoch ohne den Schritt, der Ihre lokalen Dateien überschreibt. Ihr lokales Repository wird aktualisiert und synchronisiert, aber die Änderungen werden nicht in den Arbeitsstatus Ihres lokalen Repositorys geschrieben, sodass Ihre Dateien unberührt bleiben.
Oder anders ausgedrückt: Der git pullBefehl ist wie ein, git fetch unmittelbar gefolgt von einem git merge.
Synchronisieren Sie Ihre lokalen und Remote-Repositorys mit git fetch
Um alle aktualisierten Metadaten und Commits von einem Remote-Repository in Ihr lokales Repository abzurufen, verwenden Sie den git fetch Befehl mit dem Namen oder der URL des Remote-Repositorys. Standardmäßig heißt das erste Remote-Repository „Origin“.
Sie können das Wort „Ursprung“ weglassen, wenn Sie mit einem einzelnen Remote-Repository arbeiten.
Dadurch werden alle Aktualisierungen aus dem „Ursprungs“-Repository abgerufen, die Änderungen werden jedoch nicht in die Arbeitsdateien integriert. Wir können sehen, dass ein neuer Zweig namens „new-branch“ für uns abgerufen wurde.
Nachdem Sie den Befehl verwendet haben fetch, können Sie die vollständige Liste der Zweige auf dem Remote-Computer anzeigen, indem Sie -rdie Option (Remote) mit dem Zweigbefehl verwenden.
Hier werden alle Zweige aufgelistet, die dem Remote-Server bekannt sind und die sich nach dem fetchauch in Ihrem lokalen Repository befinden.
Alle abgerufenen Tags anzeigen
Ebenso können Sie die tagOption (beachten Sie, es ist „Tag“ ohne „s“) verwenden, um die Liste der Tags anzuzeigen.
Zuerst einen Probelauf durchführen
Obwohl git fetchdie Änderungen nicht in Ihre Arbeitsdateien übernommen werden, wird Ihr lokales Repository dennoch aktualisiert. Wenn Sie sehen möchten, welche Änderungen der fetchBefehl vornimmt, ohne sie tatsächlich vorzunehmen, verwenden Sie diese –dry-runOption.
So rufen Sie einen einzelnen Zweig ab
Das Abrufen von Informationen über einen einzelnen Zweig ist einfach. Fügen Sie der Befehlszeile den Namen des Zweigsfetch hinzu, um anzugeben , dass Sie nur Informationen über diesen einen Zweig benötigen.
Hier weisen wir an, fetchden Zweig „Mary-Feature“ aus dem Remote-Repository „Origin“ abzurufen.
Jetzt, da sich die Details und Inhalte des Remote-Zweiges in Ihrem lokalen Repository befinden, können Sie den git checkoutBefehl verwenden, um einen neuen Zweig zu erstellen und den Remote-Zweig auszuchecken . Dadurch werden keine vorhandenen Dateien überschrieben, wenn Sie diesen Zweig zum ersten Mal verwenden.
Alle Zweige abrufen
Wenn Sie mehrere Remotes verwenden , können Sie Zeit sparen, indem Sie mithilfe dieser –allOption alle Änderungen aus allen Zweigen zurück in Ihr lokales Repository ziehen.
Vergleichen von lokalen und Remote-Zweigen
Um zu sehen, wie sich die Dateien in einem Remote-Zweig von Ihren lokalen Kopien unterscheiden, verwenden Sie git fetch und dann den git logBefehl.
Beachten Sie, dass die lokalen und Remote-Zweige durch zwei Punkte “ ..“ getrennt sind. Die –oneline Option zeigt die Commit- ID und die Commit-Nachricht an.
Die einzeilige Anzeige ist sinnvoll, wenn ein Zweig sehr viele Änderungen enthält. Um etwas mehr Informationen anzuzeigen, lassen Sie die –onelineOption weg.
Dies zeigt uns Uhrzeit und Datum jedes Commits zusammen mit der Commit-Nachricht und den Kontaktdaten des Änderungsautors.
Synchronisieren eines lokalen Zweigs mit einem Remote-Zweig
Wenn Sie sich entschieden haben, die Änderungen vom Remote-Zweig in Ihre lokalen Arbeitsdateien zu integrieren, können Sie diese Befehle verwenden.
Wir checken den Zweig aus, um sicherzustellen, dass es sich um unseren aktuellen, funktionierenden Zweig handelt.
Der Zweig wird für uns ausgecheckt und uns wird mitgeteilt, dass er hinter der Remote-Version liegt. Wir können ihn verwenden git pull, um ihn zu aktualisieren und dann git statusunseren Status zu überprüfen.
Wenn wir Änderungen an unseren lokalen Dateien vorgenommen haben, informiert uns Git beim Auschecken des Zweigs, dass wir git pulleinen Merge starten müssen.
Ein einfaches git pullstartet den Prozess des Abrufens und Zusammenführens der Dateien, oder wir können direkt eintauchen und git mergees selbst verwenden. Wir beginnen damit, sicherzustellen, dass wir mit dem richtigen Zweig arbeiten
Wir werden gitunseren aktuellen Zweig mit dem Zweig im Remote-Repository zusammenführen. Es gibt sechs verschiedene Commits, die aufgelöst werden müssen.
Wir müssen Git mitteilen, welchen Remote-Zweig wir zusammenführen möchten GitHub.
Ein Editor wird geöffnet, in dem wir eine Commit-Nachricht eingeben können. Wir können die vorgeschlagene Nachricht akzeptieren oder unsere eigene hinzufügen. Der Editor ist Ihr Standardeditor, sofern Git nicht für die Verwendung eines anderen Editors konfiguriert wurde.
Speichern Sie Ihre Änderungen, wenn Sie fortfahren möchten. Die Zusammenführung wird automatisch fortgesetzt, wenn der Editor geschlossen wird.
Unsere Zusammenführung war erfolgreich, da es keine Konflikte gab.
Konflikte entstehen, wenn dieselben Codezeilen von zwei oder mehr Entwicklern geändert werden. In diesem Fall markiert Git die Konflikte in der betroffenen Datei . Sie müssen sie der Reihe nach überprüfen und entscheiden, welche Änderungen beibehalten werden sollen.
Der halberzogene Welpe
Genau wie ein Welpe in der Ausbildung fetchwird er holen, was Sie verlangen, aber er wird es nicht fallen lassen. Wenn Sie tatsächlich wollen, was der Welpe Ihnen gezeigt hat, müssen Sie pull…