Can I use "git checkout --" on two files?
Solution 1:
Run the command multiple times
git checkout -- path/to/file/one
git checkout -- path/to/file/two
Or specify the multiple files in the same line:
git checkout -- path/to/file/one path/to/file/two
You can also specify entire folders which will recurse to all files below them.
git checkout -- path/to/folder
git checkout -- . # for the current path
Solution 2:
I accidentally modified all files in a directory by running find in my user's git repo directory.
me@server:/home/me/gitrepo# git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .bashrc
modified: dir/ec2-user.pem
modified: dir/readme.txt
modified: dir/root.pem
modified: dir/ec2-user.pem
modified: dir/readme.txt
modified: dir/root.pem
modified: dir/ec2-user.pem
modified: dir/ec2-user.pem.pub
modified: dir/readme.txt
modified: dir/root.pem
To correct my mistake I ran something like this command to find all modified files and checkout the files from master.
git status | grep modified | sed 's/^.*modified: //' | xargs git checkout