`git ls-files` takes zero or more <pathspec>s, but the manpage (and the `-h` output) lists it as taking zero or more <file>s instead. This is confusing as <file> is documented in `man git` as a filename, without any magic. But a pathspec has a lot of special handling. The gitglossary entry for pathspec does say that `git ls-files` takes it, but nobody is going to know to look there in the first place if they look at `git ls-files` and see that it takes files. I haven’t checked any other commands that the glossary lists as taking pathspecs (except `git add`, which does properly list it as taking pathspecs), so I don’t know if any of the other commands incorrectly list themselves as taking files when they take pathspecs. git version 2.19.1. -Lily Ballard