我一直用git checkout -- .
清除我的工作目录。--
需要避免 git 认为你正在传递参数(或其他东西)
现在一位同事告诉我我可以放弃--
,事实上,快速测试的结果完全相同。
这两个命令有什么区别吗?
PS:在这里问是因为git checkout -- .
与git checkout .
谷歌搜索有点难…
答案
我似乎记得--
是告诉 Git 处理接下来的内容的一种方法checkout
作为文件而不是分支。stuff
。
git checkout stuff
因为不清楚您是要求签出文件还是分支。--
你明确告诉 Git 按该名称/路径签出文件。stuff
:
git checkout stuff # checkout the branch stuff
git checkout -- stuff # checkout the file stuff
注意git checkout <name>
实际上是针对分支的,但是 Git 语法很宽松,如果 Git 找不到分支,那么它会查找文件。
密切相关:当存在同名文件时 Git 更改分支