Wenn Sie ein Webentwickler oder Softwareentwickler sind, ist es sehr wahrscheinlich, dass Sie viele Commits auf Ihr Git übertragen Repository jeden Tag.
In einigen Fällen haben Sie jedoch einige Dateien festgeschrieben, die nicht in Ihr Git-Repository übertragen werden sollten.
Manchmal möchten Sie möglicherweise zusätzliche Änderungen vornehmen, bevor Sie das Commit ausgeben
Infolgedessen müssen Sie das letzte Commit aus Ihrem Git-Repository rückgängig machen.
In diesem Tutorial werden wir sehen, wie Sie das letzte Commit möglicherweise einfach rückgängig machen können um Änderungen später erneut festzuschreiben.
Inhaltsverzeichnis
Machen Sie das letzte Git-Commit mit Reset rückgängig
Der einfachste Weg, das letzte Git-Commit rückgängig zu machen, besteht darin, den Befehl „git reset“ mit der Option „–soft“ auszuführen, um Änderungen an Ihren Dateien beizubehalten. Sie müssen das Commit zum Rückgängigmachen angeben, das in diesem Fall „HEAD ~ 1“ ist.
Das letzte Commit wird aus Ihrem Git-Verlauf entfernt.
Wenn Sie mit dieser Notation nicht vertraut sind, bedeutet „HEAD ~ 1“, dass Sie den HEAD (das letzte Commit) auf ein Commit im Protokollverlauf zurücksetzen möchten.
Welche Auswirkungen hat dieser Befehl?
Der Befehl „git reset“ kann als das Gegenteil des Befehls „git add“ angesehen werden, bei dem im Wesentlichen Dateien hinzugefügt werden zum Git-Index.
Wenn Sie die Option „–soft“ angeben, wird Git angewiesen, die Dateien im Arbeitsverzeichnis oder im Index überhaupt nicht zu ändern.
Als Beispiel Angenommen, Sie haben in Ihrem letzten Commit zwei Dateien hinzugefügt, möchten jedoch einige Änderungen an dieser Datei vornehmen.
Infolgedessen verwenden Sie „git reset“ mit der Option „–soft“ Um das letzte Festschreiben rückgängig zu machen und zusätzliche Änderungen vorzunehmen.
Wie Sie sehen können, wird durch Rückgängigmachen des letzten Festschreibens das Die Datei befindet sich noch im Index (Änderungen müssen festgeschrieben werden), aber das Festschreiben wurde entfernt.
Genial, Sie haben das letzte Git-Festschreiben in Ihrem Repository erfolgreich rückgängig gemacht
Im vorherigen Abschnitt haben wir gesehen, wie Sie das letzte Commit einfach rückgängig machen können, indem Sie die an den Dateien im Index vorgenommenen Änderungen beibehalten.
In einigen Fällen möchten Sie dies einfach Entfernen Sie das Commit und die an den Dateien vorgenommenen Änderungen.
Dies ist der Zweck der Option „–hard“.
Um das letzte Commit rückgängig zu machen und alle Änderungen zu verwerfen Führen Sie im Arbeitsverzeichnis und im Index den Befehl „git reset“ mit der Option „–hard“ aus und geben Sie das Commit vor HEAD („HEAD ~ 1“) an.
Seien Sie vorsichtig, wenn Sie „–hard“ verwenden: Änderungen werden aus dem Arbeitsverzeichnis entfernt, und aus dem Index gehen alle Änderungen verloren.
Zurück zu dem zuvor beschriebenen Beispiel dass Sie eine neue Datei mit dem Namen „file1“ in Ihr Git-Repository übernommen haben.
Stellen wir uns nun vor, Sie möchten das letzte Commit rückgängig machen und alle Änderungen verwerfen.
Großartig, sehen wir uns jetzt den Status unseres Git-Repositorys an .
Wie Sie sehen, wurde die Datei vollständig aus dem Git-Repository (Index + Arbeitsverzeichnis) entfernt.
Mixed Reset Git Festschreiben
Um das letzte Git-Festschreiben rückgängig zu machen, behalten Sie die Änderungen im Arbeitsverzeichnis, aber NICHT im Index bei. Sie müssen den Befehl „git reset“ mit der Option „–mixed“ verwenden. Fügen Sie neben diesem Befehl einfach „HEAD ~ 1“ für das letzte Commit hinzu.
Nehmen wir als Beispiel an, wir haben eine Datei mit dem Namen „hinzugefügt. file1 ”in einem Commit, das wir rückgängig machen müssen.
Um das letzte Commit rückgängig zu machen, führen wir einfach den Befehl“ git reset „mit der Option“ –mixed „aus.
Wenn Sie die Option“ –mixed „angeben, wird die Datei aus dem Git-Index entfernt, jedoch nicht aus dem Arbeitsverzeichnis.
Infolgedessen wird“ –mixed „verwendet „Ist eine“ Mischung „zwischen dem Soft- und dem Hard-Reset, daher der Name.
Großartig! Sie haben eine andere Möglichkeit gefunden, das letzte Commit zurückzusetzen, während Änderungen an Dateien beibehalten wurden.
Im nächsten Abschnitt werden wir eine andere Möglichkeit sehen, das letzte Commit mit dem Befehl git revert zurückzusetzen.
Letztes Commit mit revert rückgängig machen
Um das letzte Git-Commit zurückzusetzen Verwenden Sie „git revert“ und geben Sie das zurückzusetzende Commit an, das „HEAD“ für das letzte Commit Ihres Verlaufs ist.
Der Befehl „git revert“ unterscheidet sich geringfügig vom Befehl „git reset“, da er ein neues Commit mit den Änderungen aufzeichnet, die durch Zurücksetzen des letzten Commits eingeführt wurden.
Beachten Sie auch das mit „git“ Zurücksetzen “Sie haben„ HEAD ~ 1 “angegeben, da der Befehl zum Zurücksetzen eine neue HEAD-Position festlegt, während beim Zurücksetzen das angegebene Commit tatsächlich zurückgesetzt wird.
Infolgedessen müssen Sie die Änderungen erneut festschreiben, damit die Dateien angezeigt werden zurückgesetzt und das Commit rückgängig gemacht werden.
Nehmen wir daher an, Sie haben eine neue Datei in Ihr Git-Repository festgeschrieben, möchten dieses Commit jedoch zurücksetzen.
Wenn Git den Befehl „git revert“ ausführt, öffnet es automatisch Ihren Texteditor, um die Änderungen zu übernehmen.
Wenn Sie mit der Festschreibungsnachricht fertig sind, wird eine Nachricht mit dem neuen Festschreibungs-Hash angezeigt.
Wenn Sie nun Ihren Git-Verlauf erneut überprüfen würden, würden Sie feststellen, dass ein neues Commit hinzugefügt wurde, um das letzte Commit aus Ihrem Repository rückgängig zu machen.
Fazit
In diesem Tutorial haben Sie alle Möglichkeiten gesehen, wie Sie das letzte Commit Ihres Git-Repositorys rückgängig machen können.
Sie haben etwas über das „Zurücksetzen von Git“ gelernt Befehl und die verschiedenen Arten der Ausführung, je nachdem, was Sie behalten möchten oder nicht.
Sie haben auch den Unterschied zwischen dem Befehl git reset und dem Befehl git revert kennengelernt, wobei letzterer in der Reihenfolge ein neues Commit hinzufügt um das aus Ihrem Repository zurückzusetzen.
Wenn Sie neugierig auf Git oder Software Engin sind Wir haben einen vollständigen Abschnitt auf der Website, der sich diesem Thema widmet.
Wenn Sie Git mögen, könnten Ihnen auch unsere anderen Artikel gefallen:
- So klonen Sie ein Git-Repository
- So entfernen Sie Git-Dateien
- So wählen Sie Git-Commits aus