作業ツリーに変更を加えてまだコミットしておらず、行った変更を元に戻したい場合、違いはありますか
git reset --hard HEAD
と
git checkout .
?
git checkout -- .
明らかに現在のディレクトリ(およびそのサブディレクトリ)でgit reset --hard
のみ機能し、完全な作業ツリーで機能します。
git checkout -- .
作業ツリーを更新し、すでにステージングされたファイルをそのまま残しますが、git reset --hard
インデックスと作業ツリーはHEADコミットと一致します。
refspecとともに使用する場合:
reset
現在のブランチヘッドを指定されたコミットに設定します(そしてインデックスと作業ツリーに一致します)checkout
現在のブランチとチェックアウトするブランチの間で変更されていないファイルにアクセスすると、ローカルの変更をそのままにして、そのブランチに切り替わります。これらの答えは良いです。ステージングされているがまだコミットされていないファイルを削除した場合、gitcheckout .
だけでは削除されたファイルをワークスペースに戻すことはできません。git reset --hard
意志。