在git中取消暂存文件时,推荐的方法是:
git reset HEAD <file>
但是,我发现这也有效:
git reset <file>
为什么在第一种情况下需要HEAD
,如果第二种情况似乎也有效并且输入的时间更短?
答案 0 :(得分:1)
不是。根据这个git-reset文档:
<commit>
默认为所有表格中的HEAD。
答案 1 :(得分:1)
该手册页明确指出“<tree-ish>/<commit>
参数默认为HEAD的所有形式。”所以第二种形式相当于第一种形式。如果您想知道为什么git status
推荐第二种形式,那么在不使用任何默认值的情况下提供完整版本似乎是有意义的,特别是对于新用户。但是你对教学的看法可能会有所不同。
答案 2 :(得分:0)
除了“它不是”答案之外,如果您有一个名为zoop
的文件和一个名为zoop
的分支并输入以下内容会发生什么:
git reset zoop
zoop
参数是分支名称还是文件名?
如果输入以下内容怎么办?
git reset zoop zoop
?如果你使用表格怎么样:
git reset -- zoop
? (制作一个虚拟回购并试验这些,看看会发生什么。)