I thought the line
git checkout .
can revert all changes in the current directory and subdirectory for the local working copy. But I also see this popular form:
git checkout -- .
so if --
(the double dash or also called "bare double dash") is to signal the end of command options, then why is it needed in the above case? The .
can never be an option so there shouldn't be any confusion.