什么 - 在git使用中意味着什么?

时间:2016-05-26 15:08:26

标签: git

要删除文件,可以:

git rm path/to/file

当我想在git中取消暂存已删除的文件时,我必须:

  • git reset -- path/to/file
  • git checkout -- path/to/file

我不太明白为什么--是必要的以及命令与以下内容的区别:

  • git reset path/to/file
  • git checkout path/to/file

其他后者不会起作用。

--背后的基本原理是什么?

致命错误说明:

Use '--' to separate paths from revisions

但我仍然不太了解其中的差异。

2 个答案:

答案 0 :(得分:5)

git command some-pathgit command -- some-path在所有情况下都是等效的,除了some-path可以解释为提交引用。最常见的情况是与文件同名的分支。

例如,假设您的存储库的根目录中有一个名为master的文件。然后git checkout master将结帐分支 master。但git checkout -- master会查看当前HEAD的文件 master,并将该master文件替换为该修订版本。

答案 1 :(得分:0)

正如错误所述,不可能知道path/to/file是文件路径还是树形,因此它总是被解析为树形,而--之后的参数被解析被解析为路径。