Machen Sie den Git-Add-Befehl rückgängig
Dieser Artikel beschreibt das Entfernen einer Datei, die Sie zum Festschreiben zum Index hinzugefügt haben. Es gibt zwei Befehle, die Sie verwenden können, wenn Sie eine Datei aus Ihrem Index entfernen möchten.
Lassen Sie uns jeden von ihnen anhand eines praktischen Beispiels untersuchen.
Machen Sie den Git-Add-Befehl rückgängig
Um eine Situation zu simulieren, in der wir versehentlich eine Datei zum Commit hinzufügen, bearbeiten wir eine Datei in unserem Repository und verwenden den Befehl git add
, um die Datei zum Commit bereitzustellen.
$ git status
Nun, da sich unsere Datei in unserem Index befindet, wie können wir sie aus der Staging-Phase entfernen?
Ihre erste Option ist der Vorschlag von Git. Sie können den Befehl git restore --staged<file>
verwenden, wie unten gezeigt.
$ git restore --staged Load.txt
Sehen wir uns unseren Index an.
$ git status
Wir haben die Datei Load.txt
mit dem Befehl git restore --staged<file>
erfolgreich aus unserem Index entfernt. Was passiert, wenn Sie --staged
weglassen?
Aus der git restore
-Dokumentation können wir schließen, dass das Ausführen von git restore Load.txt
unseren Arbeitsbaum wiederherstellt und die Änderungen in der Staging-Datei verwirft.
Schauen wir uns die zweite Methode an. Wir werden unsere Datei noch einmal inszenieren.
$ git add Load.txt
Wir können den Befehl git reset
verwenden, um die Datei Load.txt
wie unten gezeigt aus der Staging-Umgebung zu entfernen.
$ git reset Load.txt
Sehen wir uns unseren Index an.
$ git status
Und da haben Sie es. Unsere Datei wird nicht mehr zum Commit bereitgestellt.
Zusammenfassend lässt sich sagen, dass Git es uns ermöglicht, eine Datei, die wir zum Commit bereitgestellt haben, aus der Staging-Umgebung zu entfernen. Wir können entweder den Befehl git reset
oder den Befehl git restore
mit dem Flag --staged
verwenden.
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