Using Git
Removing/undoing all changes since the last commit
git stash
If you've added new files to be committed, the're "unadded" (but not deleted); if you've made changes to tracked files, the changes are removed so they look like what they were in the last commit. (Bonus point: removed changes can be re-added with git stash pop
.)
This only works on all changes (you can't stash a specific file).
Removing/undoing your changes to a certain file / path
git checkout -- <path>
If "path" is ".", you undo all your changes to version controlled files in that directory and sub-directories:
git checkout -- .
If you've first done git add
(to "stage your changes", so some file is listed under Changes to be committed
), you first need to do git reset
to unstage the changes, then checkout in case you had changes to files already tracked. So to do that for the whole dir:
git reset HEAD . git checkout -- .
Merge conflict: Throw away local changes
git checkout master <path> git commit git merge master
(The last command should now do nothing, just say you're fully merged.)