1174 Stimmen

Wie entfernt man Dateien aus dem Git-Staging-Bereich?

Ich habe Änderungen an einigen meiner Dateien in meinem lokalen Repository vorgenommen und dann git add -A ausgeführt, was meiner Meinung nach zu viele Dateien in den Staging-Bereich gelegt hat. Wie kann ich alle Dateien aus dem Staging-Bereich löschen?

Nachdem ich das getan habe, werde ich einfach manuell git add "Dateiname" machen.

1371voto

Ash Wilson Punkte 20088

Sie können Dateien aus dem Index mit

git reset HEAD -- Pfad/zur/Datei

Genauso wie bei git add können Sie Dateien rekursiv nach Verzeichnis und so weiter zurücksetzen. Um also alles auf einmal zurückzusetzen, führen Sie dies vom Stammverzeichnis Ihres Repositorys aus:

git reset HEAD -- .

Außerdem wird Ihnen die Ausgabe von git status für zukünftige Referenzen die Befehle anzeigen, die Sie ausführen müssen, um Dateien von einem Zustand in einen anderen zu verschieben.

543voto

Antony Hatchkins Punkte 28362

Verwenden

git reset

um alle gestageten Dateien zu unstage.

201voto

norixxx Punkte 2187

Jetzt bei v2.24.0 schlägt vor

git restore --staged .

um Dateien zu entstagen.

167voto

Max Punkte 19442

Wenn Sie bereits eine Menge unerwünschter Dateien committet haben, können Sie sie entfernen und Git mitteilen, sie als gelöscht zu markieren (ohne sie tatsächlich zu löschen) mit

git rm --cached -r .

--cached sagt ihm, dass er die Pfade aus der Staging-Area und dem Index entfernen soll, ohne die Dateien selbst zu löschen, und -r arbeitet rekursiv in Verzeichnissen. Danach können Sie mit git add Dateien hinzufügen, die Sie weiterhin verfolgen möchten.

129voto

SandstormNick Punkte 1209

Verwenden Sie das folgende, um eine spezifische Datei aus dem Staging-Bereich zu entfernen:

git restore --staged 

Oder verwenden Sie das folgende, um alle Dateien zu entfernen, die derzeit gestaged sind:

git restore --staged .

In Ihrem Git Bash-Terminal können Sie nach dem Hinzufügen von Dateien zum Staging-Bereich ein git status ausführen und der Befehl wird über den aktuell gestageten Dateien angezeigt:

$ git status 
Zweig Releases/v1.1.1.x
Ihr Branch ist auf dem neuesten Stand von 'origin/Releases/v1.1.1.x'.

Änderungen, die commit werden sollen:
  (verwenden Sie "git restore --staged ..." um das Staging zurückzunehmen)
        geändert: Source Code/Server/Server.sln

Änderungen, die nicht zum Commit vorgemerkt sind:
...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X