Wie kann ich alle lokalen Änderungen in einem mit Git verwalteten Projekt auf den vorherigen Zustand zurücksetzen?
Ich habe ein Projekt, bei dem ich git init
ausgeführt habe.
Nach mehreren Übertragungen führte ich git status
aus, das mir sagte, dass alles auf dem neuesten Stand war und es keine lokalen Änderungen gab.
Dann habe ich mehrere aufeinanderfolgende Änderungen vorgenommen und festgestellt, dass ich alles wegwerfen und zu meinem ursprünglichen Zustand zurückkehren möchte. Wird dieser Befehl das für mich tun?
git reset --hard HEAD
1816
3
Wenn Sie Änderungen an Ihrer Arbeitskopie rückgängig machen wollen, tun Sie dies:
Wenn Sie Änderungen am Index rückgängig machen wollen (d.h. Änderungen, die Sie hinzugefügt haben), tun Sie dies. Warnung: Dies wird alle Ihre nicht gepushten Commits auf Master zurücksetzen!:
Wenn Sie eine Änderung rückgängig machen wollen, die Sie selbst vorgenommen haben, tun Sie dies:
Wenn Sie nicht verfolgte Dateien entfernen wollen (z.B. neue Dateien, generierte Dateien):
Oder nicht verfolgte Verzeichnisse (z. B. neue oder automatisch erzeugte Verzeichnisse):
Hinweis: Sie können auch Folgendes ausführen
als
nicht verfolgte Dateien nicht entfernt, während git-clean alle Dateien aus dem verfolgten Stammverzeichnis entfernt, die nicht unter Git-Tracking stehen. WARNUNG - SEIEN SIE VORSICHTIG! Es ist hilfreich, zuerst einen Probelauf mit git-clean durchzuführen, um zu sehen, was gelöscht wird.
Dies ist auch besonders nützlich, wenn Sie die Fehlermeldung erhalten
Das kann bei verschiedenen Dingen auftreten, z.B. beim Aktualisieren einer Arbeitskopie, wenn Sie und Ihr Freund eine neue Datei mit demselben Namen hinzugefügt haben, aber er sie zuerst in die Versionskontrolle übertragen hat und Sie sich nicht darum kümmern, Ihre nicht verfolgte Kopie zu löschen.
In dieser Situation hilft Ihnen ein Probelauf, der Ihnen eine Liste der Dateien zeigt, die überschrieben werden würden.
Schauen Sie sich git-reflog an. Es listet alle Zustände auf, die es sich merkt (Standard ist 30 Tage), und Sie können einfach den gewünschten auschecken. Zum Beispiel: