HEAD in Git zurücksetzen
Git hilft uns in vielerlei Hinsicht bei der Arbeit an freigegebenen Repositorys.
Wir können mit Git viele Funktionen ausführen, da wir gemäß unseren Anforderungen einen neuen Branch erstellen, einen Branch zusammenführen oder einen Branch entfernen können. Diese Aktionen können über mehrere Git-Befehle ausgeführt werden.
Der Befehl git reset
ist eine Compound- und Multisource-Funktion zum Rückgängigmachen von Änderungen. Dieser Befehl kann mit drei Hauptoptionen verwendet werden: --soft
, --mixed
, --hard
.
Diese drei Argumente entsprechen dem Verwaltungsmechanismus von Git namens The Commit Tree (HEAD
).
Der HEAD
weist auf den letzten Commit hin, wenn der Git Checkout-Zweig angewendet wird. Außerdem können wir auch sagen, dass Git HEAD
auf den letzten Commit des aktuellen Branchs zeigt.
Wenn wir einen Branch auschecken oder einen neuen Branch erstellen, überträgt Git HEAD
den letzten Commit an unseren lokalen Branch. Genauer gesagt ist HEAD
ein Zeiger, der immer auf den aktuellen Commit zeigt und der zum aktuellen Branch gehören kann oder auch nicht.
Git-Head-Reset
Wenn wir unsere Änderungen im gewünschten Repository gespeichert haben, sollten wir beruhigt sein, dass wir den Befehl git reset
verwendet haben, um zu den vorgenommenen Änderungen zurückzukehren Befehl lief.
Die Option HEAD
gibt den neuen Zweig frei. Wir können sagen, dass das, was git reset-hard HEAD
tun kann, darin besteht, alle Änderungen, die wir vorgenommen haben und die nicht festgeschrieben sind, zu verwerfen.
Der Befehl git reset
kann in Kombination mit anderen Befehlen verwendet werden:
- Überträgt, worauf der
HEAD
-Zweig zeigt. - Damit es wie ein Baumobjekt aussieht.
- Um wie der aktuelle Arbeitsordner auszusehen.
Und es gibt zwei verschiedene Kategorien von git reset
.
Git Head Reset --soft
Dieser Git-Befehl setzt den HEAD
zurück. Unser Index und unser Arbeitsverzeichnis werden jedoch in keiner Weise beeinflusst.
Wir können die Befehlsoption Git reset verwenden, um den Kopf eines lokalen Zweigs zurückzusetzen:
git reset --soft
Git Head Reset --mixed
Der gemischte Befehl git reset
ändert die Head-Position auf den angegebenen Commit und löscht die Änderungen aus dem Staging-Bereich. Dies ist ein Beispiel für das Rückgängigmachen der Änderungen.
Wenn wir also den Git-Befehl reset HEAD ausführen, wird der HEAD
wieder zurück zum ersten Eltern-Commit verschoben. Die Syntax für die oben besprochene Situation ist wie folgt:
git reset --mixed or $ git reset
Git Head Reset --hard
Dieser Befehl kann für uns eine Hürde sein. Es kann nur verwendet werden, wenn wir genau wissen, wie man es benutzt.
Wenn wir git reset-hard HEAD
verwenden, um den letzten Commit wiederherzustellen, wird es für uns zum Problem. Glücklicherweise haben wir Entwickler eine bessere Lösung für die Korrektur.
Beachten Sie, dass git reset --hard
ein bedrohlicher Befehl ist. Es kann alle unsere unverbindlichen Modifikationen zerstören. Wir sollten es zuerst überprüfen und sicherstellen, dass die Statusausgabe von Git sauber ist, bevor wir uns damit beschäftigen.
Dieser Befehl entfernt die im Index gespeicherten Commits, wenn wir alle Commits im Index und im Staging-Bereich entfernen möchten (wir müssen unseren letzten Commit und den letzten Commit davor rückgängig machen). Wir können den Reset-Befehl Git mit der Option --hard
verwenden:
git reset --hard HEAD~2
Dieser Befehl entfernt jeden Commit aus dem Index und dem Staging-Bereich. Es wird auch den Commit aus dem Verlauf entfernen.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedInVerwandter Artikel - Git Reset
- Eine Git-Zusammenführung mit Konflikten rückgängig machen
- Machen Sie den Development-Branch mit dem Master-Branch identisch
- Unterschied zwischen den Git-Befehlen `Reset`, `Revert` und `Checkout`.
- Unterschied zwischen Git RM --Cached und Git Reset File
- Verschiedene Methoden zum Entfernen lokaler Git-Änderungen
- Änderungen in Git rückgängig machen