Ich versuche, alle Änderungen seit meinem letzten Commit rückgängig zu machen. Ich habe es versucht git reset --hard
und git reset --hard HEAD
nachdem ich diesen Beitrag gesehen habe . Ich antworte mit head ist jetzt bei 18c3773 ... aber wenn ich mir meine lokale Quelle ansehe, sind alle Dateien noch da. Was vermisse ich?
git
command-line
undo
git-reset
Antarr Byrd
quelle
quelle
Antworten:
Dadurch werden alle Dateien entfernt, mit denen Sie möglicherweise Folgendes bereitgestellt haben
git add
:Dadurch werden alle lokalen nicht festgeschriebenen Änderungen zurückgesetzt (sollten im Repo-Stammverzeichnis ausgeführt werden):
Sie können nicht festgeschriebene Änderungen auch nur auf eine bestimmte Datei oder ein bestimmtes Verzeichnis zurücksetzen:
Eine weitere Möglichkeit, alle nicht festgeschriebenen Änderungen rückgängig zu machen (länger zu tippen, funktioniert jedoch in jedem Unterverzeichnis):
Dadurch werden alle lokalen nicht verfolgten Dateien entfernt, sodass nur noch git-verfolgte Dateien übrig bleiben:
Um es zusammenzufassen: Das Ausführen der folgenden Befehle entspricht im Wesentlichen dem Frisch
git clone
aus der Originalquelle (aber es wird nichts erneut heruntergeladen, ist also viel schneller):Eine typische Verwendung hierfür ist das Erstellen von Skripten, wenn Sie sicherstellen müssen, dass Ihr Baum absolut sauber ist - keine Änderungen oder lokal erstellten Objektdateien oder Build-Artefakte enthält und Sie möchten, dass er sehr schnell funktioniert und nicht erneut funktioniert Klonen Sie jedes Mal das gesamte Repository.
quelle
git clean
, es werden nicht festgeschriebene Änderungen rückgängig gemacht, aber alle nicht verfolgten oder hinzugefügten Dateien bleiben erhalten. Dies kann sich jedoch auf das Build-Ergebnis auswirken, da einige nicht verfolgte Dateien möglicherweise stören. Was ist beispielsweise, wenn Ihr .idea-Verzeichnis beschädigt wurde?git reset
sagt mir, ich habe Änderungen, die ich speichern mussgit clean -fdx
meine gelöschtnode_modules
und.env
, großWenn Sie alle nicht festgeschriebenen Änderungen " rückgängig machen " möchten, führen Sie einfach Folgendes aus:
Wenn Sie nicht verfolgte Dateien haben (durch Ausführen überprüfen
git status
), können diese durch Ausführen entfernt werden:git stash
Erstellt einen neuen Stash, der zu Stash @ {0} wird . Wenn Sie zuerst überprüfen möchten, können Siegit stash list
eine Liste Ihrer Verstecke anzeigen. Es wird ungefähr so aussehen:Jeder Stash ist nach der vorherigen Commit-Nachricht benannt.
quelle
git add .
vorher inszenieren,git stash
weil es mir auch nachgit stash
Es gibt auch
git stash
- was Ihre lokalen Änderungen "versteckt" und zu einem späteren Zeitpunkt erneut angewendet oder gelöscht werden kann, wenn dies nicht mehr erforderlich istWeitere Infos zum Verstauen
quelle
Ich verwende den Quellbaum .... Sie können alle nicht festgeschriebenen Änderungen in zwei einfachen Schritten rückgängig machen:
1) Sie müssen nur den Status der Arbeitsbereichsdatei zurücksetzen
2) Wählen Sie alle Unstage-Dateien aus (Befehl + a), klicken Sie mit der rechten Maustaste und wählen Sie Entfernen
So einfach ist das: D.
quelle
Was ich tue ist
Einzeiler:
git add . && git stash && git stash drop
quelle
Für diejenigen, die hier angekommen sind und gesucht haben, ob sie rückgängig machen können
git clean -f -d
, wodurch eine in Eclipse erstellte Datei gelöscht wurde,Sie können dasselbe über die Benutzeroberfläche tun, indem Sie "Aus lokalem Verlauf wiederherstellen" für ref: Aus lokalem Verlauf wiederherstellen
quelle
Staaten, die von einem Commit zu einem neuen Commit übergehen
Aktion für den Zustandsübergang
Diff prüfen
Zum letzten Commit zurückkehren
Entspricht dem Git-Klon, ohne etwas erneut herunterzuladen
quelle