1226 Stimmen

Wie kann ich nicht übertragene Änderungen, einschließlich Dateien und Ordner, rückgängig machen?

Gibt es einen Git-Befehl, um alle nicht übertragenen Änderungen in einem Arbeitsbaum und Index rückgängig zu machen und auch neu erstellte Dateien und Ordner zu entfernen?

1986voto

htanata Punkte 35588

Sie können diese beiden Befehle ausführen:

# Revert changes to modified files.
git reset --hard

# Remove all untracked files and directories.
# '-f' is force, '-d' is remove directories.
git clean -fd

622voto

Ramashish Baranwal Punkte 6988

Wenn Sie die Änderungen nur im aktuellen Arbeitsverzeichnis rückgängig machen wollen, verwenden Sie

git checkout -- .

Zuvor können Sie die Dateien auflisten, die rückgängig gemacht werden sollen, ohne dass Sie eine Aktion durchführen, nur um zu prüfen, was passieren wird:

git checkout --

132voto

Zarne Dravitzki Punkte 1598

Verwenden Sie "git checkout -- ...", um Änderungen im Arbeitsverzeichnis zu verwerfen

git checkout -- app/views/posts/index.html.erb

oder

git checkout -- *

entfernt alle Änderungen, die an nicht bereitgestellten Dateien in git status vorgenommen wurden, z. B.

modified:    app/controllers/posts.rb
modified:    app/views/posts/index.html.erb

66voto

glumgold Punkte 779

Eine nicht-triviale Möglichkeit besteht darin, diese beiden Befehle auszuführen:

  1. git stash Dadurch werden Ihre Änderungen in den Stash verschoben, so dass Sie wieder in den Zustand von HEAD
  2. git stash drop Dadurch wird der zuletzt mit dem letzten Befehl angelegte Vorrat gelöscht.

35voto

TheKojuEffect Punkte 18925

Mit Git 2.23 wurde die git restore um die Arbeitsbaumdateien wiederherzustellen.

So stellen Sie alle Dateien im aktuellen Verzeichnis wieder her:

git restore .

Wenn Sie alle C-Quelldateien so wiederherstellen wollen, dass sie mit der Version im Index übereinstimmen, können Sie Folgendes tun

git restore '*.c'

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