I\'ve seen commands like:
git reset e542 -- readme.txt
I understand this command puts in the index the contents of the file readme.txt from com
--
separates branch names from file names, in case there is any ambiguity (if you have a branch and a file with the same name). If there are no ambiguities, you don't need the --
.
Also as mentioned by Jonas Wielicki, this allows for file names that start with a -
; these would otherwise be interpreted as command-line options.
I believe it just separates the commit (which is an optional parameter) from the list of paths. If you didn't have the separator there'd be no sure fire way to distinguish if the first parameter was a path or a commit.