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?

26voto

Fr0sT Punkte 2809
git clean -fd

half nicht, und es blieben neue Dateien übrig. Ich habe den gesamten Arbeitsbaum vollständig gelöscht und dann

git reset --hard

Véase "https://stackoverflow.com/questions/673407/how-do-i-clear-my-local-working-directory-in-git/673420#673420" für den Hinweis auf die Hinzufügung der -x Option zu reinigen:

git clean -fdx

Nota -x Flagge entfernt alle von Git ignorierten Dateien, seien Sie also vorsichtig (siehe die Diskussion in der Antwort, auf die ich mich beziehe).

18voto

Josnidhin Punkte 12006

Ich denke, Sie können den folgenden Befehl verwenden: git reset --hard

18voto

kgandroid Punkte 5459

Wenn Sie eine nicht übertragene Änderung (nur in Ihrer Arbeitskopie) haben, die Sie auf die Kopie in Ihrer letzten Übertragung zurücksetzen möchten, gehen Sie wie folgt vor:

git checkout filename

10voto

Rob Punkte 4849

Bitte beachten Sie, dass es immer noch Dateien geben kann, die nicht zu verschwinden scheinen - sie könnten unbearbeitet sein, aber Git könnte sie aufgrund von CRLF / LF Änderungen als bearbeitet markiert haben. Prüfen Sie, ob Sie Änderungen in .gitattributes kürzlich.

In meinem Fall habe ich CRLF-Einstellungen in die .gitattributes und alle Dateien blieben deshalb in der Liste der "geänderten Dateien". Durch Ändern der .gitattributes-Einstellungen verschwanden sie.

7voto

Haritsinh Gohil Punkte 4562

Sie können einfach den folgenden Git-Befehl verwenden, der alle nicht übertragenen Änderungen in Ihrem Repository rückgängig machen kann:

git checkout .

Beispiel:

ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   application/controllers/Drivers.php
        modified:   application/views/drivers/add.php
        modified:   application/views/drivers/load_driver_info.php
        modified:   uploads/drivers/drivers.xlsx

no changes added to commit (use "git add" and/or "git commit -a")

ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git checkout .

ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working tree clean

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