Dieser Artikel erklärt kurz den Unterschied zwischen Git Reset -Hard, -soft und -mischt.
Was ist der Unterschied zwischen Git Reset -gemischt, -soft und -Hard?
Git bietet mehrere Reset -Optionen. Auf der Grundlage ihrer Umgang mit den Commits unterscheiden sich alle verfügbaren Optionen voneinander. Sie alle ändern die Git -Geschichte und bewegen den Kopf zurück. Darüber hinaus kümmern sie sich unterschiedlich mit den Änderungen, wie beispielsweise:
Nehmen wir ein Beispiel, um zu sehen, wie die “$ Git ResetDer Befehl funktioniert mit verschiedenen Optionen!
Schritt 1: Gehen Sie zum gewünschten Git -Repository
Wechseln Sie zunächst zu Ihrem gewünschten Git -Repository, indem Sie die “verwendenCD" Befehl:
$ CD "C: \ Git \ test_repo"
Schritt 2: Datei erstellen
Führen Sie nun den folgenden Befehl aus, um eine Datei zu erstellen:
$ touch file4.txt
Schritt 3: Datei zum Staging -Index hinzufügen
Verwenden Sie die “Git AddBefehl ”, um die neu generierte Datei in den Staging -Index hinzuzufügen:
$ git add Datei4 hinzufügen4.txt
Schritt 4: Änderungen begehen
Fügen Sie als Nächstes alle Änderungen zum Working -Repository hinzu, indem Sie die „ausführen“Git Commit" Befehl:
$ Git Commit -m "Datei4 hinzugefügt"
Schritt 5: Überprüfen Sie das Git -Protokoll
Überprüfen Sie dann den Git -Protokoll -Verlauf, um die neuesten Commits anzuzeigen, die hinzugefügt wurden:
$ git log
In der folgenden Ausgabe ist ersichtlich, dass alle neuesten hinzugefügten Commits angezeigt werden und die “KOPF”Zeigt auf das jüngste Commit:
Notiz: Um die aktuelle Zeigeposition des Kopfes besser zu überprüfenGit -ProtokollBefehl zusammen mit dem “-eine Linie" Flagge:
$ Git -Protokoll -Einmal
Nachfolgend zeigt die Ausgabe die Liste der Commit SHA Hash mit Commit -Nachrichten:
Schritt 6: Verwenden Sie den Befehl git reset -soft
Um die hinzugefügten Änderungen aus dem Git -Repository in den Staging -Index zurückzusetzen, verwenden Sie die “Git ResetBefehl zusammen mit dem “-weichOption und geben Sie die gewünschte Kopfposition an, in der der Zeiger verschoben werden muss:
$ git Reset -Soft Head ~ 1
Schritt 7: Überprüfen Sie den Git -Status
Überprüfen Sie nun die Rückkehrposition des Kopfes, um den Status der Git -Repository zu überprüfen:
$ Git Status
Es ist zu sehen, dass das “Git Reset -softDer Befehl ”Der Befehl hat die Commit -Änderungen am Git -Staging -Index zurückgegeben. Darüber hinaus die “Datei4.txtDie Datei befindet sich jetzt im Git -Staging -Index und muss begangen werden:
Schritt 8: Überprüfen Sie das Git -Protokoll
Um die aktuelle Position des Kopfes anzuzeigen, führen Sie den angegebenen Befehl zusammen mit dem “aus“ aus-eine Linie" Möglichkeit:
$ Git -Protokoll -Einmal
Hier zeigt der Kopf auf die “Datei3" begehen:
Schritt 9: Verwenden Sie Git Reset - gemischtes Befehl
Führen Sie die “aus, um die verpflichteten Änderungen und die Entfernen der Dateien aus dem Staging -Bereich rückgängig zu machen, ohne aus dem Arbeitsverzeichnis aus zu löschen$ git zurückgesetzt -gemischtBefehl zusammen mit der erforderlichen Kopfposition des Commits:
$ git Reset -Mischter Kopf ~ 1
Schritt 10: Überprüfen Sie den Git -Status
Zeigen Sie die neu hinzugefügten Änderungen an, indem Sie den Git -Repository -Status überprüfen:
$ Git Status
Es kann beobachtet werden, dass die angegebenen Festungsänderungen aus dem Staging -Bereich entfernt werden. Sie werden jedoch in den Arbeitsbereich platziert:
Schritt 11: Überprüfen Sie das Git -Protokoll
Überprüfen Sie den Git Repository Referenzprotokollverlauf zusammen mit dem SHA -Hash:
$ Git -Protokoll -Einmal
Schritt 12: Verwenden Sie Git Reset - Hard -Befehl
Um hinzugefügte Änderungen aus dem Git Local Working Directory zu entfernen, führen Sie die “aus“ aus$ git Reset -Hard" Befehl:
$ git Reset -harter Kopf ~ 1
Schritt 13: Überprüfen Sie den zurückgekehrten Kopfzeiger
Um den Kopfzeiger zu überprüfen, wenden Sie sich an die angegebene Position zurück und führen Sie die “aus“ ausGit -Protokoll" Befehl:
$ Git -Protokoll -Einmal
Die folgende Ausgabe zeigt, dass der Kopf auf die “zeigt“Datei1 hinzugefügt" begehen:
Schritt 14: Überprüfen Sie den Git -Status
Um die hinzugefügten Änderungen anzuzeigen, überprüfen Sie den Git -Status:
$ Git Status
Es ist zu sehen, dass wir keine Spuren und anhängige Änderungen von “haben“Datei2.txt" Datei. Daher Datei2.TXT wurde vollständig entfernt:
Schritt 15: Überprüfen Sie die Liste des Repository -Inhalts
Um die Repository -Liste der Inhalte zu überprüfen, führen Sie die “aus“ aus “ausls" Befehl:
$ ls
Wie Sie sehen können, das “Datei2.txtDie Datei gibt es nicht im aktuellen Verzeichnis:
Wir haben den Unterschied zwischen Git Reset -gemischt, -soft- und -hard -Optionen erklärt.
Abschluss
Der "Git ResetDer Befehl ”wird verwendet, um die Änderungen zurückzusetzen, den Verlauf des Git -Repositorys zu ändern und Fehler zu beheben. Der "Git Reset -softDer Befehl ”Hält die Dateien und gibt die Commit -Änderungen in den Git -Staging -Bereich zurück. Im Gegensatz dazu die “Git Reset -mischteDer Befehl ”Nehmen Sie die Festungsänderungen nach und entfernen Sie die Datei aus dem Staging -Index, ohne sie aus dem Arbeitsverzeichnis zu löschen. So löschen Sie alle Änderungen und entfernen Sie sie aus dem Git -Arbeitsbereich, der “Git Reset -HardDer Befehl kann verwendet werden. Dieser Artikel zeigte den Unterschied zwischen Git Reset -mixed, -soft und -Hard.