`git Reset file`と`git Reset HEAD file`の違いは何ですか?

`git Reset file`と`git Reset HEAD file`の違いは何ですか?

私はこれらの両方がファイルをアンステージングできることを発見しました。

私はファイルをアンステージングしましたgit reset file

しかし、今日読んでhttp://git-scm.com/book

私はそれが私に使用する方法を教えてくれたことを知りました。git reset HEAD fileここでHEADは何をしていますか?どのような状況で必要ですか?

PS:もう1つ質問があります。変更されていないファイルを使用できますgit checkout file。同時にこの本を使用することをお勧めしますgit checkout -- file。ここでの違いは何ですか?

答え1

他に何もない。 HEAD完全にオプションです。 HEAD通常、現在のブランチの最後のコミットを指します。使用しない場合、これは暗黙的です。他のブランチやコミットなどに基づいてファイルをリセットしたい場合にのみ意味があります。つまり、HEAD

git checkoutそして--より安全です。明らかに、以下は--コミットやタグではないパスです。

関連情報