So verwerfen Sie lokale Änderungen und entfernen nicht verfolgte Dateien in Git
Drei verschiedene Befehle lösen drei verschiedene Arten von Änderungen aus. Hier erfahren Sie, wie Sie Bearbeitungen, bereitgestellte Änderungen und neue Dateien, eine Datei oder alles, verwerfen und sie zunächst in der Vorschau anzeigen, damit nichts Wichtiges verloren geht.
Geschrieben von Kodmora
Das Softwarehaus hinter GitTree
- Rückgängigmachen und Wiederherstellen
- Staging
Auf dieser Seite
Um Änderungen an nachverfolgten Dateien zu verwerfen, führen Sie `git restore .` aus. Um nicht nachverfolgte Dateien und Ordner zu entfernen, führen Sie `git clean -fd` aus. Um vollständig zum letzten Commit zurückzukehren, führen Sie `git reset --hard` gefolgt von `git clean -fd` aus. Git kann diese Änderungen anschließend nicht wiederherstellen, also zeigen Sie zuerst eine Vorschau mit git status und git clean -nd an.
Welcher Befehl verwirft was?
| Was du willst, ist weg | Befehl |
|---|---|
| Bearbeitungen an einer verfolgten Datei | git restore path/to/file |
| Änderungen an allen verfolgten Dateien | git restore . |
| Gestaffelte Änderungen, Beibehaltung der Änderungen | git restore --staged . |
| Gestagte Änderungen und Bearbeitungen | git restore --staged --worktree . |
| Neue Dateien werden von Git nicht verfolgt | git clean -f |
| Neue Dateien und Ordner | git clean -fd |
| Alles seit dem letzten Commit | git reset --hard dann git clean -fd |
Wie verwerfe ich Änderungen an einer Datei?
git restore src/search.ts
# only some of the changes, hunk by hunk
git restore -p src/search.ts
# the same file as it was on another branch
git restore --source=main src/search.tsÄltere Anleitungen verwenden git checkout -- src/search.ts. Es funktioniert immer noch, aber git restore (Git 2.23 oder höher) erledigt nur diesen einen Job, sodass es schwieriger ist, es zu missbrauchen.
Wie verwerfe ich alle lokalen Änderungen?
# tracked files, staged or not
git reset --hard
# then untracked files and folders
git clean -fd
# confirm
git status
# nothing to commit, working tree cleangit reset --hard ohne Commit behält den Zweig dort, wo er ist, und löscht nur Dateien. Git Reset erklärt beschreibt, was es tut, wenn Sie einen Commit benennen.
Wie entferne ich die Bereitstellung einer Datei, ohne sie zu verlieren?
git restore --staged src/search.tsDie Datei verlässt den Staging-Bereich und Ihre Änderungen bleiben im Arbeitsordner. Es wird nichts gelöscht.
Wie entferne ich nicht verfolgte Dateien mit Git Clean?
Sehen Sie sich immer zuerst eine Vorschau an. -n ist ein Probelauf, der nur auflistet, was passieren würde:
# preview files and folders
git clean -nd
# delete them
git clean -fd
# ask about each one
git clean -id| Flagge | Bedeutung |
|---|---|
-n | Probelauf: Nur auflisten, nichts löschen |
-f | Force: erforderlich, um etwas zu löschen |
-d | Nicht verfolgte Ordner einbeziehen |
-i | Interaktiv: Wählen Sie, was geht |
-x | Löschen Sie auch ignorierte Dateien wie .env und node_modules. |
-X | Nur ignorierte Dateien löschen |
Kann ich verworfene Änderungen wiederherstellen?
- Zugesagte Arbeit: ja, bis
git reflog. - Gespeicherte Arbeit: ja. Sogar ein verlorener Stash kann oft gefunden werden, wie in einen gelöschten Stash wiederherstellen gezeigt.
- Gestagt, aber nie committet: manchmal, mit
git fsck --lost-found. - Nie aufgeführt: Nein. Im lokalen Verlauf Ihres Herausgebers ist es möglicherweise noch vorhanden.
Wenn eine Datei gelöscht und committet wurde, enthält wie man eine gelöschte Datei wiederherstellt die Schritte.
So verwerfen Sie Änderungen in GitTree
Wählen Sie, was Sie wegwerfen möchten
Bewegen Sie den Mauszeiger über eine Datei im Änderungsfenster und wählen Sie Änderungen an der Datei verwerfen… oder klicken Sie mit der rechten Maustaste auf mehrere Dateien, um Änderungen verwerfen… zu wählen. Verwenden Sie in einem Diff Discard Hunk oder Discard Lines.
Alles aufräumen oder aufräumen
Führen Sie Unverfolgte Dateien bereinigen… oder Alle Änderungen verwerfen… aus der Befehlspalette aus.
Lesen Sie die Bestätigung
Der Dialog benennt, was ausgeführt werden soll, und Abbrechen ist die Standardeinstellung. GitTree speichert zuerst einen Wiederherstellungs-Snapshot, sodass Rückgängig ihn wiederherstellen kann.

Siehe Änderungen verwerfen und nicht verfolgte Dateien bereinigen für jede Option und die Lektion Ignorieren und Bereinigen zum Üben.
Häufig gestellte Fragen
Was ist der Unterschied zwischen Git Restore und Git Checkout?
git checkout schaltet sowohl Zweige um als auch stellt Dateien wieder her. Git 2.23 hat diese Jobs in git switch und git restore aufgeteilt, was klarer ist. Das alte Formular funktioniert noch.
Entfernt git reset --hard nicht verfolgte Dateien?
Nein. Es werden nur verfolgte Dateien zurückgesetzt. Neue Dateien bleiben erhalten, bis Sie git clean -fd ausführen.
Warum sagt Git Clean „weigert sich zu reinigen“?
Git erfordert standardmäßig -f (clean.requireForce), damit ein Tippfehler keine Dateien löschen kann. Fügen Sie -f hinzu, sobald der Probelauf richtig aussieht.
Löscht Git Clean ignorierte Dateien?
Nicht, es sei denn, Sie fügen -x oder -X hinzu. Ein einfaches git clean -fd lässt alles in .gitignore in Ruhe.
Wie behalte ich Änderungen bei, erhalte aber einen sauberen Ordner?
Führen Sie git stash -u aus. Es speichert nachverfolgte und nicht nachverfolgte Änderungen und löscht den Ordner. Bringen Sie sie später mit git stash pop zurück, wie im Stash-Guide erklärt.
Quellen
Behauptungen zu anderen Produkten wurden anhand der offiziellen Seiten auf 7. November 2026 überprüft. Preise und Ausstattung ändern sich; Die Seiten der Anbieter sind die Quelle der Wahrheit.
