Heim > Fragen und Antworten > Hauptteil
网易云课堂上的一个问题,事实上 使用 git checkout <filename> 也不会有问题。那 -- 到底是用来做什么?搜了好久不知道哪个是正确答案,求解知道的大神~
曾经蜡笔没有小新2017-05-02 09:41:05
用来做转义的,比如你有个文件恰好叫master,你如果
git checkout master
那明显只会去拉master这个分支的代码,与你所要的不符,当你执行
git checkout -- master
就是真正去拉master文件了
phpcn_u15822017-05-02 09:41:05
--
代表“ 无论如何,将其之后的 argument 视为一个文件名(filename)”
这是 Unix 通用惯例(而非 git 仅有),如:
rm -f # 不造成任何影响
rm -- -f # 删除一个名为 "-f" 的文件
如果你要操作的文件名前带有 -
,就可以执行 git checkout -- -file
如果你要操作的文件名恰好也属于一个分支名,就可以执行 git checkout -- branch
以确保操作的是该(名为 branch 的)文件。