次の4つのコマンドの間に存在する違いを特定しようとしています。
master
現在のブランチがであり、現在のディレクトリが「作業ディレクトリ」、つまり、であると仮定し.git
ます。
git checkout
git checkout HEAD
git checkout master
git checkout -- .
私が知る限り、最初の2つのコマンドは完全に同等であり、本質的に操作なしです(両方とも何らかの出力を生成する可能性があるという事実を除いて)。Already on 'master'.
3番目のコマンドは、前の出力に加えて、他のすべてのコマンドとは対照的に、最後のコマンドがステージングされていないすべての変更を破棄することを除いて、最初の2つとほぼ同じです。
私は何かを逃したことがありますか?