432 Stimmen

Alle Änderungen nach der letzten Übertragung in git zurücksetzen

Wie kann ich das rückgängig machen? jede Änderungen, die nach der letzten Übertragung an meinem Verzeichnis vorgenommen wurden, einschließlich des Löschens hinzugefügter Dateien, des Zurücksetzens geänderter Dateien und des Wiederhinzufügens gelöschter Dateien?

752voto

Benjamin Bannier Punkte 50065

Setzen Sie zunächst alle Änderungen zurück

Dadurch werden alle Änderungen, die Sie an verfolgten Dateien vorgenommen haben, rückgängig gemacht und gelöschte Dateien wiederhergestellt:

git reset HEAD --hard

Zweitens: Entfernen Sie neue Dateien

Dies löscht alle neuen Dateien, die seit der letzten Übertragung hinzugefügt wurden:

git clean -fd

Dateien, die nicht nachverfolgt werden, weil sie .gitignore erhalten bleiben; sie werden nicht entfernt

Warnung : mit -x 代わりに -fd würde ignorierte Dateien löschen. Das wollen Sie wahrscheinlich nicht tun.

106voto

Ortomala Lokni Punkte 47835

Wie kann ich das rückgängig machen? jede Veränderung die nach der letzten Übertragung an meinem Verzeichnis vorgenommen wurden, einschließlich des Löschens hinzugefügter Dateien, des Zurücksetzens geänderter Dateien und des Wiederhinzufügens gelöschter Dateien?

  1. Sie können Änderungen rückgängig machen an Verfolgt Dateien mit:

    git reset HEAD --hard
  2. Sie können entfernen unauffindbar Dateien mit:

    git clean -f
  3. Sie können entfernen unauffindbar Dateien und Verzeichnisse mit:

    git clean -fd

    sondern Sie können Änderungen an nicht verfolgten Dateien nicht rückgängig machen. .

  4. Sie können entfernen ignoriert und nicht weiterverfolgt Dateien und Verzeichnisse

    git clean -fdx

    sondern Sie können Änderungen an ignorierten Dateien nicht rückgängig machen. .

Sie können auch einstellen clean.requireForce a false :

git config --global --add clean.requireForce false

zu vermeiden -f ( --force ), wenn Sie git clean .

-9voto

RKS Punkte 441

Es gibt zwei Befehle, die in dieser Situation funktionieren,

Root>git reset --hard HEAD~1

Wurzel>git push -f

Für weitere Git-Befehle siehe dies Seite

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