Machen Sie einen Git-Pull rückgängig

John Wachira 20 Juni 2023
Machen Sie einen Git-Pull rückgängig

Dieser Artikel veranschaulicht, wie Sie die Auswirkungen des Befehls git pull rückgängig machen können. Möglicherweise befinden Sie sich in einer Situation, in der ein git pull-Befehl Dateien in Ihrem Repository geändert hat, Sie sie aber gerne in ihren vorherigen Zustand zurückversetzen möchten.

In diesem Artikel erfahren Sie, wie Sie Ihr Repository wiederherstellen können.

Machen Sie einen Git-Pull rückgängig

Der Befehl git pull kombiniert die Befehle git fetch und git merge Fetch_HEAD. Es ruft Änderungen aus dem Remote-Repository ab und führt sie in den aktuellen lokalen Zweig ein.

Alles, was sich an der Spitze des entfernten Zweigs befindet, wird mit Ihrem lokalen Zweig zusammengeführt.

Wenn Sie den Befehl git log --oneline ausführen, sollten Sie den neuen Commit aus dem Remote-Repository sehen. Zu diesem Zeitpunkt befindet sich Ihr Repo bei HEAD.

Sie müssen Ihr Repository auf HEAD~1 zurücksetzen; die übergeordneten Commits für den neuen Commit aus dem Remote-Repository. Dazu gibt es mehrere Möglichkeiten.

Sie können den Befehl git reset verwenden, wie unten dargestellt.

$ git reset --hard HEAD~1

Der Befehl git reset --hard verwirft alle nicht festgeschriebenen Änderungen in Ihrem Repository.

Sie können auch den SHA-1 des übergeordneten Commit verwenden. Schauen wir uns ein Beispiel an.

Hier ist der Commit-Verlauf für ein Repo nach dem Ausführen des Befehls git pull.

$ git log --oneline
3b65c8e Update README.md
16b997a Update LICENSE.md

Um mit dem SHA-1 zum übergeordneten Commit zu wechseln, führen wir Folgendes aus:

$ git reset --hard 16b997a

Sie können auch auf einen bestimmten Zeitpunkt zurücksetzen. Wenn Sie git pull vor zwanzig Minuten ausgeführt haben, können Sie den folgenden Befehl ausführen, um die alte Version Ihres Repositorys wiederherzustellen.

$ git reset --hard master@{"20 minutes ago"}

Nachdem Sie Änderungen aus dem Remote-Repository gezogen haben, können Sie Ihr Repository mit dem Befehl git reset --hard auf die vorherige Version zurücksetzen. Verstauen Sie alle nicht festgeschriebenen Arbeiten, da dieser Befehl auch die Änderungen verwirft.

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