Como sempre, você deve ler a página de manual de um comando para descobrir como ele interpreta seus argumentos.
--
é comumente usado para indicar o final das opções de comando. Isso é especialmente útil se você quiser passar um nome de arquivo ou outro argumento que comece com -
. Também é uma boa ideia usá-lo antes dos curingas que podem se expandir para um nome de arquivo que comece com um hífen. (Por exemplo, tente mkdir foo; cd foo; echo >-l; ls *; ls -- *
.)
Mas git diff
também o usa para indicar se um argumento é um <commit>
(indicando qual revisão deve ser diff) ou um <path>
(indicando qual arquivo deve ser diferenciado). Geralmente, ele pode adivinhar, mas é possível que um valor seja um commit válido e um caminho válido. Nesse caso, você pode usar git diff foo --
para indicar que foo
é uma confirmação ou git diff -- foo
para indicar que foo
é um caminho.