git checkout --< filename>中的--是做什么用的?

浏览:39日期:2023-09-15

问题描述

网易云课堂上的一个问题,事实上 使用 git checkout <filename> 也不会有问题。那 -- 到底是用来做什么?搜了好久不知道哪个是正确答案,求解知道的大神~

问题解答

回答1:

用来做转义的,比如你有个文件恰好叫master,你如果

git checkout master

那明显只会去拉master这个分支的代码,与你所要的不符,当你执行

git checkout -- master

就是真正去拉master文件了

回答2:

-- 代表“ 无论如何,将其之后的 argument 视为一个文件名(filename)”这是 Unix 通用惯例(而非 git 仅有),如:

rm -f # 不造成任何影响rm -- -f # 删除一个名为 '-f' 的文件

如果你要操作的文件名前带有 -,就可以执行 git checkout -- -file如果你要操作的文件名恰好也属于一个分支名,就可以执行 git checkout -- branch 以确保操作的是该(名为 branch 的)文件。

相关文章: