git checkout all the files

fedorqui 'SO stop harming' picture fedorqui 'SO stop harming' · Mar 12, 2015 · Viewed 152.6k times · Source

How can I get rid of all the changes in all the files of my repository?

Say I am in a branch and I did some changes. git status returns a set of files in the "Changes not staged for commit" and I notice I would like to get rid of all of these changes in all the files. How can I do this with a single command?

I know I can do the following to checkout just one file:

git checkout -- <file>

I noticed that git checkout -- alone returns the list of all uncommited files. However, I cannot find a way to checkout all of them, something like git checkout --all.

I checked man git checkout and could not find anything. Also I saw Git: Checkout all files except one and tried git checkout . and did not work either.

Would I have to do it programmatically, by looping through the git checkout -- output?

Answer

poke picture poke · Mar 12, 2015

If you are at the root of your working directory, you can do git checkout -- . to check-out all files in the current HEAD and replace your local files.

You can also do git reset --hard to reset your working directory and replace all changes (including the index).