Wie man einen Git Commit rückgängig macht: Ein einfaches Beispiel zur Rückgängigmachung von Änderungen (2023)

Einführung

In der Welt der verteilten Versionskontrolle wird der Git Revert-Befehl häufig missverstanden und falsch angewendet. In diesem Artikel werden wir genau erläutern, wie der Befehl funktioniert und wie man eine einfache Rückgängigmachung in Ihrem Repository durchführt.

Der Zweck des Git Revert-Befehls

Der Git Revert-Befehl dient dazu, alle Änderungen, die ein einzelner Commit in Ihrem Quellcode-Repository vorgenommen hat, rückgängig zu machen. Angenommen, ein vergangener Commit hat eine Datei namens "index.html" zum Repository hinzugefügt. Durch das Ausführen von "git revert" auf diesen Commit wird die "index.html"-Datei aus dem Repository entfernt. Das Gleiche gilt, wenn ein vergangener Commit eine neue Codezeile zu einer Java-Datei hinzugefügt hat - durch eine Rückgängigmachung dieses Commits wird die hinzugefügte Zeile entfernt. Bei einer Rückgängigmachung eines Git Commits werden die Änderungen des Ziel-Commits aus Ihrem lokalen Arbeitsbereich entfernt. Gleichzeitig wird ein neuer Commit erstellt, der den neuen Zustand Ihres Repositories widerspiegelt.

Der Git Revert-Befehl in der Praxis

Die Syntax für die Rückgängigmachung eines Git Commits und das Rückgängigmachen unerwünschter Änderungen ist einfach. Entwickler müssen lediglich den "git revert"-Befehl aufrufen und die ID des zu rückgängig zu machenden Commits angeben:

$ git revert <Commit-ID>

Ein Beispiel zur Rückgängigmachung eines Git Commits

Um das Rückgängigmachen von Git Commits besser zu verstehen, betrachten wir ein Beispiel. Wir beginnen mit dem Befehl "git init", um ein vollständig sauberes Repository zu erstellen. Anschließend fügen wir dem Repository fünf Dateien hinzu, indem wir sie dem Git-Index hinzufügen und einen neuen Commit mit einer aussagekräftigen Nachricht erstellen. Eine schnelle Verzeichnisliste zeigt uns die fünf Dateien im aktuellen Ordner.

$ ls
alpha.html beta.html charlie.html delta.html edison.html

Eine Ausführung des Befehls "git reflog" zeigt uns unsere aktuellen Commit-Historie.

$ git reflog
d846aa8 HEAD@{0}: commit: 5th git commit: 5 files
0c59891 HEAD@{1}: commit: 4th git commit: 4 files
4945db2 HEAD@{2}: commit: 3rd git commit: 3 files
defc4eb HEAD@{3}: commit: 2nd git commit: 2 files
2938ee3 HEAD@{4}: commit: 1st git commit: 1 file

Nun stellt sich die Frage, was passieren würde, wenn wir einen Git Revert auf den dritten Commit mit der ID "4945db2" durchführen würden. Dieser Commit hat die Datei "charlie.html" hinzugefügt. Die Antwort lautet: Durch die Rückgängigmachung dieses Commits wird nur die Datei "charlie.html" aus unserem Repository entfernt. Die anderen Dateien bleiben unverändert.

Entwickler sollten auch wissen, dass beim Rückgängigmachen eines Commits der rückgängig gemachte Commit aus ihrem lokalen Arbeitsbereich gelöscht wird, aber nicht aus dem lokalen Repository. Der Code, der mit dem rückgängig gemachten Git Commit verbunden ist, bleibt in der Historie der Änderungen im Repository gespeichert. Dadurch bleibt der rückgängig gemachte Code auch zukünftig referenzierbar, falls er jemals wieder benötigt wird.

Vergleich: Git Revert vs. Reset

Wenn Sie einen Git Commit rückgängig machen, werden nur die Änderungen dieses spezifischen Commits rückgängig gemacht. Kumulative Änderungen nachfolgender Commits bleiben unberührt. Wenn Sie jede Änderung seit einem bestimmten Commit rückgängig machen möchten, sollten Sie einen "git reset" mit der Option "hard" durchführen. Die Git Reset- und Revert-Befehle werden häufig verwechselt, haben jedoch unterschiedliche Anwendungsfälle. Um Änderungen, die mit einem bestimmten Commit verbunden sind, rückgängig zu machen, verwenden Sie den Git Revert-Befehl. Um jede Änderung seit einem bestimmten Commit rückgängig zu machen, verwenden Sie "git reset". Wenn ein Entwickler nur den vorherigen Commit rückgängig machen muss, reicht entweder der "git revert" oder der "git reset"-Befehl aus.

Schritte zum Rückgängigmachen eines Git Commits

Um eine Zusammenfassung zu geben, hier sind die Schritte, um einen Git Commit rückgängig zu machen und unerwünschte Änderungen zu entfernen:

  1. Ermitteln Sie die ID des zu rückgängig zu machenden Commits mit dem Befehl "git log" oder "git reflog".
  2. Führen Sie den "git revert"-Befehl aus und geben Sie die gewünschte Commit-ID an.
  3. Verfassen Sie eine aussagekräftige Git Commit-Nachricht, um zu beschreiben, warum die Rückgängigmachung erforderlich war.

Der "git revert"-Befehl ist eine einfache Möglichkeit, einen Fehler, der in der Versionskontrolle zu einem früheren Zeitpunkt eingeführt wurde, zu entfernen oder von einer Funktionserweiterung abzurücken, die vom Kunden nicht gut angenommen wurde. Wenn Sie Änderungen in einem bestimmten Commit rückgängig machen möchten, ist der "git revert"-Befehl die richtige Wahl.

Nächste Schritte

  • Git Fork vs. Clone: Was ist der Unterschied?
  • Git's letzter Commit rückgängig machen
  • Git vs. GitHub: Was ist der Unterschied zwischen ihnen?

Fazit

Der Git Revert-Befehl ist eine wertvolle Methode, um unerwünschte Änderungen in einem Quellcode-Repository rückgängig zu machen. Indem Sie die ID des zu rückgängig zu machenden Commits angeben, können Sie spezifische Änderungen entfernen und den vorherigen Zustand Ihres Repositories wiederherstellen. Beachten Sie jedoch, dass der Git Revert-Befehl nur die Änderungen des ausgewählten Commits rückgängig macht und kumulative Änderungen nachfolgender Commits unberührt lässt.

Mit dieser ausführlichen Anleitung zum Git Revert-Befehl hoffen wir, dass Ihnen die Durchführung von Rückgängigmachungen in Ihrer Git-Umgebung erleichtert wird.

Top Articles
Latest Posts
Article information

Author: Neely Ledner

Last Updated: 25/12/2023

Views: 5974

Rating: 4.1 / 5 (62 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Neely Ledner

Birthday: 1998-06-09

Address: 443 Barrows Terrace, New Jodyberg, CO 57462-5329

Phone: +2433516856029

Job: Central Legal Facilitator

Hobby: Backpacking, Jogging, Magic, Driving, Macrame, Embroidery, Foraging

Introduction: My name is Neely Ledner, I am a bright, determined, beautiful, adventurous, adventurous, spotless, calm person who loves writing and wants to share my knowledge and understanding with you.