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