Significado de Git checkout double traços

Qual é o significado dos traços duplos antes do nome do arquivo neste comando git?

git checkout --ours -- path/to/file.txt git checkout --theirs -- path/to/file.txt 

Eles são obrigatórios? É equivalente a

 git checkout --ours path/to/file.txt git checkout --theirs path/to/file.txt 

Suponha que eu tenha um arquivo chamado path/to/file.txt no meu repository Git, e eu quero reverter as alterações nele.

 git checkout path/to/file.txt 

Agora suponha que o arquivo seja chamado de master

 git checkout master 

Ops! Isso mudou ramos em vez disso. O -- separa a tree que você deseja conferir dos arquivos que deseja conferir.

 git checkout -- master 

Também nos ajuda se algum freako adicionar um arquivo chamado -f ao nosso repository:

 git checkout -f # wrong git checkout -- -f # right 

Isto está documentado em git-checkout: Disambiguation de Argumento .

O traço duplo “-” significa “fim de linha de comando”, isto é, diz ao comando anterior para não tentar analisar o que vem depois das opções da linha de comando.