20

作業ツリーに変更を加えてまだコミットしておらず、行った変更を元に戻したい場合、違いはありますか

git reset --hard HEAD

git checkout .

4

2 に答える 2

30

git checkout -- .明らかに現在のディレクトリ(およびそのサブディレクトリ)でgit reset --hardのみ機能し、完全な作業ツリーで機能します。

git checkout -- .作業ツリーを更新し、すでにステージングされたファイルをそのまま残しますが、git reset --hardインデックスと作業ツリーはHEADコミットと一致します。

refspecとともに使用する場合:

  1. reset現在のブランチヘッドを指定されたコミットに設定します(そしてインデックスと作業ツリーに一致します)
  2. checkout現在のブランチとチェックアウトするブランチの間で変更されていないファイルにアクセスすると、ローカルの変更をそのままにして、そのブランチに切り替わります。
于 2011-02-26T18:21:02.607 に答える
5

これらの答えは良いです。ステージングされているがまだコミットされていないファイルを削除した場合、gitcheckout .だけでは削除されたファイルをワークスペースに戻すことはできません。git reset --hard意志。

于 2013-04-17T15:37:27.397 に答える