ベストアンサー1
必要なコミットのハッシュが次の通りであると仮定しますc5f567
:
git checkout c5f567 -- file1/to/restore file2/to/restore
のgit チェックアウト詳細については man ページを参照してください。
前のコミットに戻したい場合はc5f567
、以下を追加します~1
(1 は戻したいコミットの数で、任意の数にすることができます)。
git checkout c5f567~1 -- file1/to/restore file2/to/restore
余談ですが、このコマンドは、通常の操作 (ブランチ間の変更) と異常な破壊的な操作 (作業ディレクトリの変更の破棄) の両方に使用されるため、私は常にこのコマンドに不快感を覚えていました。
--
コマンド内のの意味については、Git では、--
(ダッシュ ダッシュ) はどういう意味ですか?
新しいgit restore
これは、変更された作業コピー ファイルを復元するために特別に設計されたコマンドです。Git が十分に新しい場合はこのコマンドを使用できますが、ドキュメントには警告が付いています。
このコマンドは実験的なものです。動作は変更される可能性があります。
は実験的なためgit restore
、この質問に対する主な回答としてはまだ推奨されません。 コマンドが「実験的」としてマークされなくなったら、この回答を修正して の使用を推奨できますgit restore
。[執筆時点では、git restore
コマンドは少なくとも 4 年間「実験的」としてマークされています。]