Zum Hauptinhalt springen

Wie man ein Commit in Git über die Konsole entfernt: Schritt für Schritt Anleitung

Git ist eines der beliebtesten Versionskontrollsysteme, das von Entwicklern auf der ganzen Welt verwendet wird. Bei der Arbeit mit Git ist es jedoch manchmal notwendig, ein kürzlich getätigtes Commit zu entfernen. Dies kann auf verschiedene Ursachen zurückzuführen sein, z. B. auf einen Fehler, die Zurückhaltung, bestimmte Änderungen zu speichern oder einfach nur den Commit-Verlauf zu bereinigen.

Das Entfernen eines Commits in Git ist möglich, erfordert jedoch Vorsicht und genaues Befolgen der Anweisung. In diesem Artikel werden wir uns ansehen, wie ein Commit über die Git-Konsolenschnittstelle entfernt wird. Bereiten Sie sich auf die Arbeit mit der Befehlszeile vor, da einige Aktionen die Eingabe von Befehlen und Parametern in der Konsole erfordern.

Bevor Sie mit dem Entfernen eines Commits beginnen, ist es wichtig zu verstehen, was im Versionskontrollsystem vor sich geht. Jedes Git-Commit hat eine eindeutige ID, die in der Reihenfolge verläuft. Das Entfernen eines Commits bedeutet, den Commit-Verlauf zu ändern, daher werden Konsequenzen wie das Ändern der Hash-Summe von Commits, die auf das entfernte Commit folgen, und ein möglicher Datenverlust auftreten. Seien Sie beim Löschen von Commits sehr vorsichtig und sichern Sie wichtige Informationen, bevor Sie den Vorgang ausführen.

Wie entferne ich ein Commit in Git über die Konsole

Das Entfernen eines Commits in Git kann eine notwendige Operation sein, wenn Sie beim Hinzufügen von Änderungen einen Fehler gemacht haben oder das vorherige Commit rückgängig machen möchten. In diesem Artikel werden wir uns eine schrittweise Anleitung zum Entfernen eines Commits in Git über die Konsole ansehen.

  1. Öffnen Sie die Git-Konsole und navigieren Sie zum Arbeitsverzeichnis des Repositorys.
  2. Geben Sie den Befehl git log ein, um die Liste der Commits im Repository anzuzeigen.
  3. Kopieren Sie die Commit-ID, die Sie löschen möchten.
  4. Geben Sie den Befehl git rebase -i COMMIT-ID^ ein, wobei COMMIT-ID die Commit-ID ist, und fügen Sie am Ende ein ^ -Zeichen hinzu, um das Commit vor dem ausgewählten Commit anzugeben.
  5. Ein Editor wird geöffnet, in dem eine Liste der Commits angezeigt wird. Suchen Sie die Zeile, die dem Löschen des ausgewählten Commits entspricht, und löschen Sie sie.
  6. Speichern und schließen Sie die Datei.
  7. Git führt die angegebenen Änderungen durch und entfernt das ausgewählte Commit aus dem Repository-Verlauf.
  8. Geben Sie den Befehl git log erneut ein, um sicherzustellen, dass das Commit erfolgreich gelöscht wurde.
  9. Wenn Sie ein Remote-Repository aktualisieren möchten, geben Sie den Befehl git push origin branch-name --force ein, wobei branch-name der Name Ihres Zweiges ist.

Jetzt wissen Sie, wie Sie ein Commit in Git über die Konsole entfernen können. Denken Sie daran, dass das Löschen eines Commits den Repository-Verlauf beeinflussen kann. Seien Sie also vorsichtig und stellen Sie sicher, dass Sie die Auswirkungen dieser Operation verstehen.

Schritt 1: Öffnen Sie das Terminal

Der erste Schritt zum Entfernen eines Commits in Git über die Konsole besteht darin, ein Terminal auf Ihrem Computer zu öffnen. Das Terminal ermöglicht es Ihnen, mit Git über Befehlszeilenbefehle zu interagieren.

Wenn Sie ein Windows-Betriebssystem installiert haben, können Sie das Terminal öffnen, indem Sie beispielsweise mit der rechten Maustaste auf den Desktop klicken und die Option "Git Bash Here" oder "Open Git Bash" auswählen.

Im Fall von Mac oder Linux können Sie ein Terminal öffnen, indem Sie beispielsweise Befehl + Leertaste drücken, "Terminal" eingeben und Terminal aus der Liste der Anwendungen auswählen.

Schritt 2: Wechseln Sie zum Repository-Ordner

Nachdem Sie Git auf Ihrem Computer installiert haben, öffnen Sie ein Terminal und navigieren Sie zu dem Ordner, in dem sich Ihr Repository befindet. Dazu können Sie den Befehl verwenden cd (change directory) zusammen mit dem Pfad zu Ihrem Ordner.

Wenn sich Ihr Repository beispielsweise im Ordner "Dokumente/mein-Repo" befindet, geben Sie den folgenden Befehl ein:

Stellen Sie sicher, dass Sie sich im Stammordner Ihres Repositorys befinden, damit Sie auf alle Git-Dateien und -Befehle zugreifen können. Sie können den aktuellen Pfad mit dem Befehl überprüfen pwd (print working directory), das Ihnen den vollständigen Pfad zum aktuellen Ordner anzeigt.

Jetzt, da Sie sich im Repository-Ordner befinden, können Sie mit Git weiterarbeiten und mit den nächsten Schritten zum Entfernen des Commits fortfahren.

Schritt 3: Geben Sie den Befehl ein, um das Commit zu löschen

Um ein Commit in Git zu löschen, können Sie den Befehl git reset verwenden. Mit diesem Befehl können Sie den Verzweigungskopf zum vorherigen Commit verschieben und alle nachfolgenden Commits entfernen.

Um das letzte Commit zu löschen, geben Sie Folgendes ein:

Wenn Sie mehrere der letzten Commits löschen möchten, müssen Sie die Anzahl der Commits angeben, die Sie löschen möchten. Wenn Sie beispielsweise die letzten beiden Commits löschen möchten, geben Sie Folgendes ein:

git reset HEAD~2

Nach Eingabe des Befehls löscht Git die angegebenen Commits und verschiebt den Verzweigungskopf zum vorherigen Commit. Alle an entfernten Commits vorgenommenen Änderungen verbleiben jedoch im Arbeitsverzeichnis.

Sie können den Befehl git push -f verwenden, um Änderungen, die durch Remote-Commits verursacht werden, endgültig zu entfernen. Dieser Befehl erzwingt die Aktualisierung des Remote-Repositorys, indem geänderte Commits entfernt werden.

Wichtig: Seien Sie vorsichtig beim Löschen von Commits, insbesondere wenn sie bereits veröffentlicht wurden und andere Entwickler mit Ihrem Repository arbeiten. Das Löschen von Commits kann zu Datenverlust führen und Probleme für die Teamarbeit verursachen.