ファイルを特定のリビジョンにリセットまたは戻すにはどうすればよいですか? 質問する

ファイルを特定のリビジョンにリセットまたは戻すにはどうすればよいですか? 質問する

変更したファイルを特定のコミットハッシュ(私が決定した)の以前のリビジョンに戻すにはどうすればよいですか?git logそしてgit diff)?

ベストアンサー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 年間「実験的」としてマークされています。]

おすすめ記事