Wiederherstellen eines rückgängig gemachten Git-Commits
In diesem Artikel werden die Schritte beschrieben, die zum Wiederherstellen eines rückgängig gemachten Git-Commits erforderlich sind. Am Ende des Artikels verfügen Sie über das notwendige Know-how, um einen rückgängig gemachten Commit wiederherzustellen, ohne Ihren Commit-Verlauf neu schreiben zu müssen.
Wiederherstellen eines rückgängig gemachten Git-Commits
Schauen wir uns das Beispiel unten an.
In unserem Repository haben wir den unten gezeigten Commit-Verlauf.
Wir können unseren ersten Commit mit dem Befehl git revert
rückgängig machen, wie unten gezeigt.
$ git revert 9735f67
Dieser Befehl öffnet einen Texteditor, in dem wir eine Commit-Nachricht für das Zurücksetzen geben.
Wie können wir dies rückgängig machen, ohne unseren Commit-Verlauf neu zu schreiben?
In diesem Fall müssen wir einen neuen Commit für das Zurücksetzen erstellen. Es gibt zwei Befehle, die Sie für dieses Szenario verwenden können.
Die erste Methode beinhaltet den Befehl git cherry-pick
. Wir verwenden den Befehl mit dem Commit-Hash des Commits, der vor dem Revert-Commit kommt (d. h. HEAD@{1}
). Wir führen den folgenden Befehl aus.
$ git cherry-pick 9735f67
Ausgang:
$ git cherry-pick 9735f67
[master 8fdc845] Rollback
Date: Wed Aug 24 09:00:15 2022 +0300
2 files changed, 11 insertions(+), 6 deletions(-)
Dieser Befehl erstellt eine Kopie des angegebenen Commits und wendet sie auf den Arbeitsbaum an. Sie müssen nichts hinzufügen oder festschreiben, da der Befehl dem Repository ein neues Festschreiben hinzufügt.
Die zweite Methode beinhaltet das Zurücksetzen des Zurücksetzens. Wie unten gezeigt, verwenden wir den Befehl git revert
, um unsere erste Wiederherstellung rückgängig zu machen.
$ git revert bb1c611
Dieser Commit öffnet einen Texteditor, in dem wir eine neue Commit-Nachricht für das Zurücksetzen geben. Sobald dies erledigt ist, können wir in das Remote-Repository pushen, ohne unseren Commit-Verlauf neu zu schreiben.
Abschließend lässt sich sagen, dass Git es uns ermöglicht, einen rückgängig gemachten Git-Commit wiederherzustellen. Die Befehle git cherry-pick
und git revert
sind praktisch, wenn wir einen rückgängig gemachten Commit rückgängig machen wollen, ohne unseren Commit-Verlauf neu zu schreiben.
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