Update 2019:
Seit Juli 2019 gibt es einen neuen Befehl, der genau dies tut : git restore
.
In git status
, jetzt empfiehlt Git, diesen Befehl anstelle von git checkout
früher zu verwenden.
Während dieser Befehl auch verwendet werden kann, um den Arbeitsbaum in einem bestimmten Commit wiederherzustellen oder um den Inhalt des Index wiederherzustellen, wird der Arbeitsbaum standardmäßig auf den Status im Index zurückgesetzt (was hier gefragt wird).
Um die Dateien wiederherzustellen, die einer Pfadspezifikation entsprechen (um ihre nicht bereitgestellten Änderungen zu entfernen), gehen Sie wie folgt vor:
git restore <pathspec>
Um beispielsweise alle nicht bereitgestellten Änderungen im aktuellen Verzeichnis wiederherzustellen, können Sie Folgendes ausführen:
git restore .
Wenn Sie dies im Stammverzeichnis des Projekts ausführen, werden alle nicht bereitgestellten Änderungen im gesamten Repository wiederhergestellt.
Beachten Sie, dass wie bei git checkout -- .
(wie von Mariusz Nowak hervorgehoben) nur Änderungen an von Git verfolgten Dateien verworfen werden und keine neuen nicht verfolgten Dateien verworfen werden. Wenn Sie nicht bereitgestellte Änderungen, einschließlich neuer nicht verfolgter Dateien, verwerfen möchten, können Sie Folgendes ausführen:
git clean -df
Seien Sie mit diesem späteren Befehl jedoch sehr vorsichtig, da Sie möglicherweise Dateien verwerfen, die Sie nicht entfernen wollten.
Hinweis zu git restore
: Da dies ein neuer Befehl ist, gibt die Manpage eine Warnung aus:
Dieser Befehl ist experimentell. Das Verhalten kann sich ändern.
Es ist also möglich, dass diese Antwort veraltet ist, wenn sich das Verhalten in Zukunft ändert. Es kann daher ratsam sein, man git-restore
vor der Verwendung eine schnelle Ausführung durchzuführen .
git-clean
nur entfernt untracked Dateien aus dem Arbeits Baum git-scm.com/docs/git-clean