How to revert uncommitted changes including files and folders?
Is there a git command to revert all uncommitted changes in a working tree and index and to also remove newly created files and folders?
Solution 1:
You can run these two commands:
# Revert changes to modified files.
git reset --hard
# Remove all untracked files and directories.
# '-f' is force, '-d' is remove directories.
git clean -fd
Solution 2:
If you want to revert the changes only in current working directory, use
git checkout -- .
And before that, you can list the files that will be reverted without actually making any action, just to check what will happen, with:
git checkout --
Solution 3:
Use "git checkout -- ..." to discard changes in working directory
git checkout -- app/views/posts/index.html.erb
or
git checkout -- *
removes all changes made to unstaged files in git status eg
modified: app/controllers/posts.rb
modified: app/views/posts/index.html.erb
Solution 4:
One non-trivial way is to run these two commands:
-
git stash
This will move your changes to the stash, bringing you back to the state of HEAD -
git stash drop
This will delete the latest stash created in the last command.