Git checkout双重破折号的含义

Meaning of Git checkout double dashes

在这个git命令中,文件名前面的双破折号是什么意思?

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

它们是强制性的吗?它等同于

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


假设我的Git存储库中有一个名为path/to/file.txt的文件,我想恢复对它的更改。

1
git checkout path/to/file.txt

现在假设文件名为master

1
git checkout master

哎呀!而是改变了分支。--将要签出的树与要签出的文件分开。

1
git checkout -- master

如果某个freako将名为-f的文件添加到我们的存储库中,它也会帮助我们:

1
2
git checkout -f      # wrong
git checkout -- -f   # right

这在git checkout:argument消歧中有记录。


双破折号"--"表示"命令行结束标志",即它告诉前面的命令不要尝试解析命令行选项之后的内容。