Ignorieren Sie lokale Änderungen beim Abrufen aus dem Remote-Repository

John Wachira 20 Juni 2023
Ignorieren Sie lokale Änderungen beim Abrufen aus dem Remote-Repository

In diesem Artikel wird erläutert, wie Sie einen git pull-Befehl erzwingen können, um unsere lokalen Dateien zu überschreiben. Diese Aktion ist praktisch, wenn mehrere Personen an derselben Datei arbeiten und wir unsere Dateien basierend auf dem Remote-Repository aktualisieren möchten.

Lassen Sie uns gleich einsteigen.

Git-Pull erzwingen, um lokale Dateien zu überschreiben

Das Abgleichen unseres lokalen Repositorys mit dem entfernten Repository beginnt mit dem Abrufen.

Äste holen

Wir verwenden den Befehl git fetch, um Commits, Dateien und Referenzen aus unserem Remote-Repository abzurufen. Beachten Sie, dass dieser Befehl nur die Dateien, Commits und Verweise auf unser lokales Repository herunterlädt, ohne etwas zusammenzuführen.

Sie können im folgenden Kontext aus dem Remote-Repository abrufen.

git fetch --all

Der obige Befehl ruft alle Branches in unserem Remote-Repository ab.

Änderungen zurücksetzen

Der nächste Schritt besteht darin, unser lokales Repository so auszurichten, dass es mit unserem Ursprung/Master übereinstimmt. Wir werden den Befehl git rest mit dem Flag --hard verwenden, um unveröffentlichte Commits und unsere lokalen Änderungen zu löschen.

Unser lokales Repository stimmt mit dem Remote-Repository (origin/master) überein.

git rest --hard origin/<branch-name>

In einigen Fällen möchten wir möglicherweise unsere lokalen Änderungen beibehalten. Wie gehen wir vor?

Aktuelle lokale Änderungen beibehalten

Wir können unsere aktuellen lokalen Commits und Änderungen beibehalten, indem wir einen neuen Zweig erstellen, bevor wir das lokale Repository zurücksetzen.

git checkout <branch-name>
git branch <create-branch-to-save-current-changes>

Der obige Befehl erstellt einen neuen Zweig, in dem wir alle aktuellen Änderungen in unserem lokalen Repository speichern. Wir können jetzt holen und ruhen.

git fetch --all
git rest --hard origin/<branch-name>

Unsere alten Commits befinden sich im Zweig <create-branch-to-save-current-changes>.

Nicht festgeschriebene Änderungen

Der Befehl git rest löscht alle nicht festgeschriebenen Änderungen in unserem lokalen Repository. Wir können sie speichern und die Commits später anwenden.

Folge diesen Schritten:

  1. Führen Sie den Befehl git stash aus. Der Befehl behält alle Commits an anderer Stelle und bereinigt Ihren Arbeitsbereich.

    git stash
    
  2. Sie können die zuvor erwähnten Schritte befolgen, um Ihr lokales Repository zu restaurieren und die gestashed Commits mit dem Befehl git stash pop anzuwenden.

    git stash pop
    

Git-Pull

Der Befehl git pull ruft Änderungen aus unseren Remote-Repositorys ab und führt sie mit dem lokalen Repository zusammen. Es kombiniert die Befehle git fetch und git merge.

Wir können den Befehl verwenden, um unser lokales Repository im folgenden Kontext zu überschreiben.

git rest --hard
git pull

Wir verwenden den Befehl git clean, um alle nicht verfolgten Dateien aus unserem Remote-Repository zu entfernen.

  1. Der Befehl git clean -f entfernt nicht getrackte Dateien.
  2. Der Befehl git clean -df entfernt nicht getrackte Dateien und Ordner.
  3. Der Befehl git clean -xdf löscht nicht verfolgte oder ignorierte Dateien und Verzeichnisse.
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Pull