git rückgängig machen alle nicht festgeschriebenen oder ungesicherte Änderungen


Answers

Wenn Sie alle nicht festgeschriebenen Änderungen rückgängig machen möchten, führen Sie einfach Folgendes aus:

git stash
git stash drop

Wenn Sie nicht geordnete Dateien haben (überprüfen Sie, indem Sie den git status ), können diese entfernt werden, indem Sie Folgendes ausführen:

git clean -fdx

git stash erstellt einen neuen Stash, der stash @ {0} wird . Wenn Sie zuerst prüfen möchten, können Sie die git stash list ausführen, um eine Liste Ihrer Stashes zu sehen. Es sieht ungefähr so ​​aus:

stash@{0}: WIP on rails-4: 66c8407 remove forem residuals
stash@{1}: WIP on master: 2b8f269 Map qualifications
stash@{2}: WIP on master: 27a7e54 Use non-dynamic finders
stash@{3}: WIP on blogit: c9bd270 some changes

Jeder Stash ist nach der vorherigen Commit-Meldung benannt.

Question

Ich versuche alle Änderungen seit meinem letzten Commit rückgängig zu machen. Ich versuchte git reset --hard und git reset --hard HEAD nach dem Betrachten dieses Beitrags . Ich antworte mit Kopf ist jetzt bei 18c3773 ... aber wenn ich meine lokale Quelle anschaue, sind alle Dateien noch da. Was vermisse ich?




Zustände, die von einem Commit zu einem neuen Commit übergehen

0. last commit,i.e. HEAD commit
1. Working tree changes, file/directory deletion,adding,modification.
2. The changes are staged in index
3. Staged changes are committed

Aktion für den Statusübergang

0->1: manual file/directory operation
1->2: git add .
2->3: git commit -m "xxx"

Überprüfen Sie Diff

0->1: git diff
0->2: git diff --cached
0->1, and 0->2: git diff HEAD
last last commit->last commit: git diff HEAD^ HEAD

Zurück zum letzten Commit

2->1: git reset
1->0: git checkout .     #only for tracked files/directories(actions include modifying/deleting tracked files/directories)
1->0: git clean -fdx     #only for untracked files/directories(action includes adding new files/directories)
2->1, and 1->0: git reset --hard HEAD

Äquivalent von Git-Clone, ohne etwas neu herunterzuladen

git reset; git checkout .; git clean -fdx



Ich benutze Quellbaum .... Sie können alle nicht festgeschriebenen Änderungen mit 2 einfachen Schritten wiederherstellen:

1) muss nur den Status der Workspace-Datei zurücksetzen

2) wähle alle unstagage Dateien aus (Befehl + a), rechtsklicke und wähle Entfernen

So einfach ist das: D