Ich habe gerade eine gemacht
git commit -m "blah"
Dann habe ich einige Dateien hinzugefügt. Wie kann ich ein Rollback durchführen und entfernen, was in meinen aktuellen Dateien noch nicht hinzugefügt / festgeschrieben wurde?
Ich habe gerade eine gemacht
git commit -m "blah"
Dann habe ich einige Dateien hinzugefügt. Wie kann ich ein Rollback durchführen und entfernen, was in meinen aktuellen Dateien noch nicht hinzugefügt / festgeschrieben wurde?
Antworten:
Caveat Emptor - Zerstörerische Befehle voraus.
Schadensbegrenzung - git reflog kann Sie bei Bedarf retten.
1) Machen Sie lokale Dateiänderungen rückgängig und behalten Sie Ihr letztes Commit bei
git reset --hard
2) Machen Sie lokale Dateiänderungen rückgängig und ENTFERNEN Sie Ihr letztes Commit
git reset --hard HEAD^
3) HALTEN lokale Dateiänderungen und REMOVE Ihre letzten Commit
git reset --soft HEAD^
Wenn Sie neu hinzugefügte Inhalte und Dateien entfernen möchten, die bereits bereitgestellt wurden (also dem Index hinzugefügt wurden), verwenden Sie:
git reset --hard
Wenn Sie auch Ihr letztes Commit entfernen möchten (ist das mit der Meldung "blah"), verwenden Sie besser:
git reset --hard HEAD^
Um die nicht verfolgten Dateien (also neue Dateien, die noch nicht zum Index hinzugefügt wurden) und Ordner zu entfernen, verwenden Sie:
git clean --force -d
git reset --hard zwingt das Arbeitsverzeichnis zum letzten Festschreiben zurück und löscht neue / geänderte Dateien.
Sie können ein Commit zurücksetzen, indem Sie git revert HEAD^zum vorletzten Commit zurückkehren. Sie können auch das Commit angeben, das zurückgesetzt werden soll, indem Sie die ID anstelle von HEAD ^ verwenden
Wenn Sie das letzte Commit einfach aufheben möchten, verwenden Sie Folgendes:
git reset HEAD~
arbeite wie ein Zauber für mich.
Eine einfache und kinderleichte Möglichkeit , lokale Dateiänderungen seit dem letzten Commit rückgängig zu machen, besteht darin, sie in einem neuen Zweig zu platzieren:
git branch changes
git checkout changes
git add .
git commit
Damit bleiben die Änderungen im neuen Zweig. Kehren Sie zum ursprünglichen Zweig zurück, um zum letzten Commit zurückzukehren:
git checkout master
Der neue Zweig ist ein guter Ort, um verschiedene Methoden zum Zurücksetzen von Änderungen zu üben, ohne das Risiko einzugehen, dass der ursprüngliche Zweig durcheinander gebracht wird.