Git

So machen Sie den letzten Commit in Git . rückgängig

So machen Sie den letzten Commit in Git . rückgängig
Ein gängiger Workflow in Git besteht darin, dass Sie Änderungen an Ihrem Projekt vornehmen, die Änderungen zum Staging-Bereich hinzufügen, die Änderungen festschreiben, neue Änderungen vornehmen, die Änderungen bereitstellen, die Änderungen festschreiben und es geht weiter und weiter. Aber was ist, wenn Sie Ihre Änderungen versehentlich übernommen haben?? Nun, keine Angst. Sie können Ihren letzten Commit in Git . jederzeit rückgängig machen. In diesem Artikel zeige ich dir, wie du den letzten Commit in Git . rückgängig machen kannst. Also lasst uns anfangen.

Einrichten eines Test-Git-Repositorys:

In diesem Abschnitt werde ich eines meiner GitHub-Repositorys auf meinem Computer klonen, um ein Test-Repository für diesen Artikel einzurichten. Wenn Sie mitmachen möchten, können Sie dies auch tun. Wenn Sie Ihr eigenes Git-Repository haben, mit dem Sie arbeiten können, dann großartig! Kannst du auch verwenden.

Um eines meiner GitHub-Repositorys zu klonen (https://github.com/dev-shovon/my-project), führen Sie den folgenden Befehl aus:

$ git-Klon https://github.com/dev-shovon/my-project undo_commit_demo

Das GitHub-Repository sollte geklont werden undo_commit_demo/ Verzeichnis.

Navigieren Sie nun zum undo_commit_demo/ Verzeichnis wie folgt:

Der Commit, den Sie rückgängig machen möchten, befindet sich möglicherweise in einem anderen Zweig als meiner. Ich möchte den letzten Commit des rückgängig machen ie-fix Ast. Also muss ich den Ast ziehen ie-fix aus meinem GitHub-Repository.

Sie können die ziehen ie-fix wie folgt von GitHub abzweigen:

$ git pull origin ie-fix

HINWEIS: Hier, ie-fix ist der Filialname.

Das ie-fix Ast soll gezogen werden.

Jetzt zur Kasse gehen (in meinem Fall, ie-fix), von dem Sie den letzten Commit wie folgt rückgängig machen möchten:

$ git checkout ie-fix

Wie Sie sehen können, ist der letzte Commit der ie-fix Zweig ist aec00f3. In den nächsten Abschnitten zeige ich Ihnen, wie Sie den letzten Commit in Ihrem Git-Repository rückgängig machen können.

Letztes Commit rückgängig machen und Änderungen beibehalten:

Eine Möglichkeit, den letzten Commit rückgängig zu machen, ist die Verwendung eines Soft-Resets in Ihrem Git-Repository. Dies bewirkt, dass der letzte Commit entfernt und die Änderungen, die Sie in diesem Commit vorgenommen haben, zum Staging-Bereich Ihres Git-Repositorys hinzugefügt werden. Wenn Sie etwas reparieren möchten, können Sie auf diese Weise die Dateien ändern und einen neuen Commit hinzufügen.

Wie Sie sehen können, ist der letzte Commit in meinem ie-fix Zweig ist aec00f3.

$ git log --oneline

Außerdem ist mein Staging-Bereich sauber.

$git-Status

Führen Sie nun den folgenden Befehl aus, um den letzten Commit zu entfernen oder rückgängig zu machen:

$ git reset --soft HEAD~1

Wie Sie sehen können, ist das Commit aec00f3 ist weg.

$ git log --oneline

Außerdem befindet sich die Datei, die ich beim letzten Commit geändert habe, in meinem Staging-Bereich.

$git-Status

Jetzt können Sie die Dateien weiter ändern, die von Ihnen gemachten Fehler beheben und die Änderungen erneut übernehmen.

Letztes Commit rückgängig machen und Änderungen entfernen:

Wenn der letzte Commit, den Sie entfernen möchten, für Sie nutzlos ist, können Sie einen Hard-Reset Ihres Git-Repositorys in Betracht ziehen. Was ein Hard-Reset bewirkt, ist, dass der letzte Commit wie zuvor entfernt wird. Es entfernt jedoch auch alle Änderungen, die Sie im letzten Commit vorgenommen haben. Führen Sie einen Hard-Reset nur durch, wenn Sie sicher sind, dass Sie nichts vom letzten Commit mehr benötigen.

Ich werde die ziehen ie-fix Verzweigen Sie erneut von meinem GitHub-Repository, um den letzten Commit wiederherzustellen aec00f3 und entfernen Sie es in diesem Abschnitt wieder.

$ git pull origin ie-fix

Wie ihr seht, ist der letzte Commit zurück. Wenn Ihr Git-Repository auf einen Git-Cloud-Dienst wie GitHub hochgeladen wird, können Sie auch jeden Commit wiederherstellen, den Sie versehentlich entfernt haben.

Wie ihr seht, ist mein Staging-Bereich sauber.

$git-Status

Um nun den letzten Commit zu entfernen und die Änderungen in diesem Commit zu entfernen, führen Sie den folgenden Befehl aus:

$ git reset --hard HEAD~1

Der letzte Commit sollte entfernt werden und die KOPF Zeiger sollte aktualisiert werden.

Wie Sie sehen können, ist das Commit aec00f3 entfernt und der Commit unmittelbar davor (3fffdee) ist der aktuelle der letzte Commit.

$ git log --oneline

Auch der Staging-Bereich ist sauber. Es existieren also Änderungsdateien aus dem entfernten Commit.

$git-Status

Aktualisieren des Remote-Git-Repositorys:

Nachdem Sie den fehlerhaften Commit nun erfolgreich aus Ihrem Git-Repository entfernt haben, möchten Sie möglicherweise auch Ihr GitHub-Repository aktualisieren. Dies ist das Thema dieses Abschnitts.

Wie du siehst, Git-Status zeigt auch, dass ich 1 Commit vom Remote-Repository hinterherhinke.

Bevor ich mein GitHub-Repository aktualisiert habe, wurde das Commit aec00f3 existiert, obwohl ich es aus dem lokalen Git-Repository entfernt habe, wie Sie sehen können.

Führen Sie den folgenden Befehl aus, um das lokale Git-Repository mit dem GitHub-Repository zu synchronisieren:

$ git push --force origin ie-fix

Die Änderungen des lokalen Git-Repositorys sollten mit dem GitHub-Repository synchronisiert werden.

Das GitHub-Repository sollte aktualisiert werden. Wie Sie sehen können, ist das Commit aec00f3 ist nicht mehr gelistet. Der Commit unmittelbar davor aec00f3, welches ist 3fffdee ist jetzt der letzte Commit.

So machen Sie den letzten Commit in Git . rückgängig. Danke, dass du diesen Artikel gelesen hast.

Beste Gamepad-Mapping-Apps für Linux
Wenn du Spiele unter Linux gerne mit einem Gamepad statt mit einem typischen Tastatur- und Maus-Eingabesystem spielst, gibt es einige nützliche Apps f...
Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...