Unterschied zwischen Git RM --Cached und Git Reset File

John Wachira 15 Februar 2024
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:

git rm &ndash;gecachtes Bild

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:

git reset image

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 Wachira avatar John Wachira avatar

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

Verwandter Artikel - Git rm

Verwandter Artikel - Git Reset