`git reset file` 和 `git reset HEAD file` 有什么区别?

Zen*_*Zen 9 git

我发现这两个都可以取消暂存文件。

我曾经用来git reset file取消暂存文件。

但是今天当我阅读http://git-scm.com/book 时

我发现它教会了我使用git reset HEAD file,HEAD 在这里做什么?在什么情况下是必须的?

PS:一个额外的问题,我可以使用git checkout file未修改的文件。同时本书建议我使用git checkout -- file. 这里有什么区别?

Mir*_*anc 9

没有区别。 HEAD完全是可选的。 HEAD通常指向当前分支的最后一次提交。如果你不使用它,它是隐含的。仅当您想根据某个不同的分支或提交等重置文件时才有意义。换句话说,使用HEAD.

git checkout--更安全。很明显,接下来--是路径,而不是提交或标签。