为什么我们在"git checkout - ."中使用双短划线?

nop*_*ole 16 git

我想到了这条线

git checkout .
Run Code Online (Sandbox Code Playgroud)

可以还原当前目录和本地工作副本的子目录中的所有更改.但我也看到这种流行的形式:

git checkout -- .
Run Code Online (Sandbox Code Playgroud)

因此,如果-- (双破折号或也称为"裸双破折号")是发出命令选项结束的信号,那么为什么在上述情况下需要呢?将.永远是一个选项,所以不应该有任何混淆.

ale*_*lex 15

这意味着解决歧义.

例如,如果您有一个名为bob(将检出该分支)的分支和一个名为bob(将恢复该文件夹)的文件夹.

  • 所以你的意思是 `--` 也表示分支名称的结束(它是否表示其他任何事情的结束?)。所以对于`git checkout .` 它真的不需要`--`? (2认同)