"Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx> writes: > one thing i don't see there, and it's based on an observation someone > once made (i believe on this list), is that even if there is > absolutely no ambiguity in a command, even if there are no pathspec > arguments, it's still worthwhile to add a trailing "--": > > $ git command options/treeish ... -- > > since that guarantees that git will waste no time trying to identify > any ambiguity since you're being so precise. is that worth mentioning > in that page? I do not think it is worth mentioning _anywhere_ if you sell its benefit as "even there is no ambiguity it won't spend cycles". The point of "git cmd X --" and "git cmd -- X" is that they save your human cycle, not machine cycle; you do not have to waste time wondering if you happen to have X as path in the working tree. That may be worth mentioning, but only "maybe" I would think. A more important reason is you may not _know_ beforehand if X you mean to be a rev also happens to be a path (or vice versa) when you are scripting. Writing 'git checkout master', 'git diff HEAD', etc., in a script you intend to be generic enough is risky if 'master', HEAD, etc. can be both rev and path at the same time, but that is already described in gitcli page ;-)