Unterschied zwischen Git RM --Cached und Git Reset File
Dieser Artikel beschreibt den Unterschied zwischen den Befehlen git rm --cached und git reset<file>. Wir werden die Funktion jedes Befehls besprechen, um die Unterschiede zwischen den beiden zu erkennen.
Unterschied zwischen git rm --cached und git reset<file>
Um den Kontext zu vereinfachen, untersuchen wir, was jeder Befehl bewirken kann, und analysieren dann die verschiedenen Ausgaben, die die beiden Befehle anzeigen. Lassen Sie uns gleich einsteigen.
den Befehl git rm --cached
Manchmal kann Git Ihnen den folgenden Vorschlag machen, nachdem Sie den Befehl git status ausgeführt haben.
$ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: .env Lassen Sie uns versuchen, die Datei .env mit der Option rm aus der Staging-Umgebung zu entfernen. Wir werden Folgendes ausführen:
$ git rm --cached .env Lassen Sie uns den Befehl git status ausführen, um den Status unseres Arbeitsverzeichnisses zu überprüfen.
$ git status Ausgang:

Aus der obigen Ausgabe können wir ersehen, dass unsere .env-Datei gelöscht wurde, aber unter nicht nachverfolgten Dateien verbleibt. Mal sehen, was der Befehl git reset<file> bewirkt.
den Befehl git reset <file>
Wir führen den Befehl git reset wie unten gezeigt aus:
$ git reset HEAD .env Wir können jetzt den Befehl git status ausführen, um unseren Arbeitsbaum auszuchecken.
$ git status Ausgang:

Aus der obigen Ausgabe können wir sehen, dass der Befehl git reset <file> die an der Datei vorgenommenen Änderungen beseitigt hat.
Der Befehl git rm --cached stellt eine Datei zum Entfernen bereit, lässt die Datei jedoch unverfolgt. Andererseits wird der Befehl git reset <file> nur eine Datei aus der Staging-Umgebung entfernen.
Die Option git rm --cached ist ideal, wenn Sie eine nicht verfolgte Datei aus der Staging-Umgebung entfernen möchten, ohne den Arbeitsbaum zu ändern. Der entsprechende Befehl git reset <file> setzt den Index und nicht den Arbeitsbaum zurück.
Kurz gesagt, der Befehl git rm --cached entfernt Pfade im Index und lässt sie ungetrackt, während der Befehl git rest<file> nur den Index zurücksetzt. Verwenden Sie den Befehl git rm --cached mit nicht getrackten Dateien.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn