Zum Hauptinhalt springen

Wie entferne ich ein Commit aus einem Zweig

Die Versionskontrolle ist ein wesentlicher Bestandteil der Softwareentwicklung. Mit Commits können Sie Änderungen am Code speichern und den Entwicklungsverlauf des Projekts verfolgen. Es gibt jedoch manchmal Situationen, in denen Sie zu einer früheren Version zurückrollen oder unnötige Commits löschen müssen.

Wenn Sie auf eine Situation stoßen, in der Sie ein Commit aus einem Zweig entfernen müssen, aber dennoch alle anderen Änderungen beibehalten müssen, gibt es mehrere Möglichkeiten, dieses Problem zu lösen. Bevor Sie mit dem Löschen eines Commits beginnen, sollten Sie sich bewusst sein, dass dies eine ziemlich gefährliche Operation ist, die zu Datenverlust führen kann. Daher wird empfohlen, das Projekt vor dem Löschen des Commits zu sichern.

Es gibt mehrere Methoden zum Entfernen von Commits, deren Auswahl davon abhängt, in welchem Zustand sich Ihr Repository befindet. Eine der häufigsten Methoden ist die Verwendung eines Befehls git revert. Mit diesem Befehl können Sie ein neues Commit erstellen, das die vom vorherigen Commit vorgenommenen Änderungen rückgängig macht. Dadurch bleibt der Commit-Verlauf unverändert und unerwünschte Änderungen werden rückgängig gemacht.

Entfernen eines Commits aus einem Zweig

Es gibt mehrere Möglichkeiten, ein Commit aus einem Zweig zu entfernen:

  1. Verwenden Sie den Befehl git revert. Dadurch können Sie ein neues Commit erstellen, das die vom ausgewählten Commit vorgenommenen Änderungen rückgängig macht.
  2. Verwenden Sie den Befehl git cherry-pick. Dadurch können Sie das ausgewählte Commit auf einen anderen Zweig anwenden, indem Sie es aus dem ursprünglichen Zweig ausschließen.
  3. Verwenden Sie den Befehl git rebase. Dadurch können Sie den Commit-Verlauf neu schreiben, einschließlich des Ausschlusses des ausgewählten Commits aus dem Zweig.

Wenn Sie ein Commit aus einem Zweig entfernen, müssen Sie verstehen, dass dies den Repository-Verlauf ändern wird. Wenden Sie diese Befehle daher vorsichtig an und stellen Sie sicher, dass Sie die Konsequenzen verstehen.

Vergessen Sie auch nicht, dass das Entfernen eines Commits aus dem Repository Konflikte verursachen kann, wenn Sie Zweige zusammenführen oder gelöschte Informationen wiederherstellen. Daher wird empfohlen, diese Befehle nur im Notfall zu verwenden.

Vorbereitung für die Deinstallation

Bevor Sie ein Commit aus einem Zweig entfernen, müssen Sie die folgenden Schritte ausführen:

SchrittDie Beschreibung
1Stellen Sie sicher, dass der Zweig, aus dem Sie das Commit entfernen möchten, aktiv ist. Wenn nicht, wechseln Sie mit dem Befehl git checkout zu diesem Zweig.
2Verwenden Sie den Befehl git log , um den Commitverlauf des Zweiges anzuzeigen. Identifizieren Sie die Commit-ID, die Sie löschen möchten.
3Erstellen Sie einen neuen Zweig mit dem Befehl git branch new_branch_name . Dies wird der temporäre Zweig sein, an dem Sie arbeiten werden.
4Wechseln Sie mit dem Befehl git checkout new_branch_name zu einem neuen Zweig.
5Verwenden Sie den Befehl git rebase -i commit_id , indem Sie commit_id durch die ID des Commits ersetzen, das Sie löschen möchten. Ein Editor wird geöffnet, in dem Sie die zu löschenden Commits auswählen können. Speichern Sie die Änderungen, und schließen Sie den Editor.
6Stellen Sie sicher, dass alle Änderungen konfliktfrei verlaufen sind und dass der Commit-Verlauf so aussieht, wie Sie es benötigen.
7Verschieben Sie den Zweig-Zeiger mit dem Befehl git branch -f branch_name new_branch_name auf den neuen Zweig. Ersetzen Sie branch_name durch den Namen des Zweiges, aus dem Sie das Commit entfernen möchten, und new_branch_name durch den Namen des neuen Zweiges.
8Entfernen Sie den temporären Zweig mit dem Befehl git branch -D new_branch_name . Das Commit wird nun aus dem ausgewählten Zweig entfernt.

Beachten Sie, dass das Entfernen eines Commits zum Verlust aller seiner Änderungen führt. Seien Sie also vorsichtig und überprüfen Sie alles, bevor Sie das Commit aus dem Zweig entfernen.

Terminal öffnen

Um Commits aus einem Zweig in Git zu entfernen, müssen Sie ein Terminal öffnen, in dem Sie Befehle ausführen können.

1. Für Windows-Benutzer können Sie ein Terminal öffnen, indem Sie eine Tastenkombination drücken Win+R. geben Sie dann "cmd" in das angezeigte Fenster ein und drücken Sie die Eingabetaste.

2. Öffnen Sie für Mac-Benutzer "Spotlight" (normalerweise nach dem Lupensymbol in der oberen rechten Ecke des Bildschirms gesucht) und geben Sie "Terminal" ein. Wählen Sie die Terminal-Anwendung aus und drücken Sie die Eingabetaste.

3. Für Linux-Benutzer können Sie ein Terminal öffnen, indem Sie auf den Befehl klicken Ctrl+Alt+T.

Nachdem Sie das Terminal geöffnet haben, sind Sie bereit, Befehle auszuführen, um unerwünschte Commits aus dem Zweig in Git zu entfernen.

Befehlseingabe

Um ein Commit aus einem Zweig zu entfernen, müssen Sie den folgenden Befehl verwenden:

Das TeamDie Beschreibung
git revert Macht die vom angegebenen Commit vorgenommenen Änderungen rückgängig und erstellt ein neues Commit

Hier ist die ID des zu löschenden Commits.

Nachdem dieser Befehl ausgeführt wurde, wird ein neuer Commit erstellt, der die vom angegebenen Commit vorgenommenen Änderungen rückgängig macht. Dieser Ansatz ist vorzuziehen, wenn Änderungen aus dem angegebenen Commit bereits veröffentlicht wurden und für andere Entwickler verfügbar sind.

Ergebnisse überprüfen

Nachdem Sie die Befehle zum Entfernen eines Commits aus dem Zweig ausgeführt haben, sollten Sie die Ergebnisse überprüfen, um sicherzustellen, dass das Commit erfolgreich gelöscht wurde.

Dazu können Sie den Befehl git log verwenden und den Commit-Verlauf des Zweiges anzeigen. Wenn ein Commit erfolgreich gelöscht wurde, sollte es nicht in der Commitliste angezeigt werden.

Es ist auch möglich, Änderungen an einem Remote-Zweig auf der webbasierten Plattform für das Hosting des Repositorys zu überprüfen. Wenn das Commit erfolgreich gelöscht wurde, sollte es im Änderungsverlauf nicht angezeigt werden.

Es ist wichtig sicherzustellen, dass das Entfernen des Commits keine Auswirkungen auf die Arbeit anderer Entwickler hat, die mit dem Repository arbeiten. Daher wird empfohlen, die Änderungen zu überwachen und auf Kommentare und Feedback zur Arbeit des Remote-Commits zu achten.

Löschen bestätigen

Bevor Sie ein Commit löschen, ist es wichtig sicherzustellen, dass diese Aktion keine unerwünschten Konsequenzen oder den Verlust wichtiger Informationen nach sich zieht. Durch die Bestätigung des Löschvorgangs werden Fehler vermieden und die Arbeit mit den Zweigen sichergestellt.

Es wird empfohlen, die folgenden Schritte auszuführen, bevor Sie das Commit löschen:

  1. Stellen Sie sicher, dass Sie im richtigen Zweig arbeiten, andernfalls kann das Löschen eines Commits Änderungen an anderen Zweigen zur Folge haben.
  2. Erstellen Sie eine Sicherungskopie Ihres Repositorys, um gelöschte Commits bei Bedarf wiederherstellen zu können.
  3. Lesen Sie den Commit-Verlauf, um genau zu verstehen, welche Änderungen vorgenommen wurden und wie sie sich auf andere Commits beziehen.
  4. Verwenden Sie den Befehl git show [commit], um die Details eines bestimmten Commits zu überprüfen und sicherzustellen, dass Sie das richtige ausgewählt haben.

Nachdem Sie alle erforderlichen Überprüfungen und Überzeugungen durchgeführt haben, dass das Löschen korrekt ist, können Sie mit der Operation zum Entfernen des Commits aus dem Zweig fortfahren.

Beenden des Prozesses

  • Das Entfernen eines Commits in einem Zweig stellt einen Punkt in diesem Zweig dar und beendet den Code-Korrekturprozess.
  • Es ist wichtig sicherzustellen, dass der Code nach dem Entfernen des Commits funktionsfähig bleibt und die Funktionalität des Projekts nicht beeinträchtigt.
  • Nachdem Sie ein Commit gelöscht haben, sollten Sie den Zweig mit dem entfernten Commit an einen Zweig binden, in dem der korrigierte Code bereits angewendet wurde.
  • Dies kann durch Ausführen des Befehls git merge erfolgen, damit Änderungen an einem entfernten Zweig mit Änderungen an einem bereits korrigierten Zweig zusammengeführt werden.
  • Es wird empfohlen, nach dem Zusammenführen der Änderungen Tests durchzuführen, um sicherzustellen, dass alle Änderungen erfolgreich sind und das Projekt ordnungsgemäß funktioniert.
  • Wenn alle Tests erfolgreich sind, können Sie mit dem nächsten Entwicklungsschritt fortfahren, da Sie wissen, dass das zu löschende Commit nicht mehr in der Codebasis des Projekts vorhanden ist.