1. ホーム
  2. git

[解決済み] ファイルをリセットしたり、特定のリビジョンに戻したりするにはどうすればよいですか?

2022-03-15 20:19:39

質問内容

ファイルグループの一部として数回コミットされたファイルに変更を加えましたが、その変更をリセットして以前のバージョンに戻したいのです。

私は git log とともに git diff を使用して必要なリビジョンを見つけることができますが、ファイルを過去の元の状態に戻す方法については全く分かりません。

解決方法は?

欲しいコミットのハッシュが c5f567 :

git checkout c5f567 -- file1/to/restore file2/to/restore

gitチェックアウト をクリックすると、詳細が表示されます。

の前のコミットに戻したい場合。 c5f567 を追加してください。 ~1 (ここで 1 は遡りたいコミット数で、何でもかまいません)。

git checkout c5f567~1 -- file1/to/restore file2/to/restore

余談ですが、このコマンドは普通のこと(ブランチ間の変更)にも異常で破壊的なこと(作業ディレクトリの変更を破棄する)にも使われるので、いつも不愉快に思っています。


また、新たに git restore コマンドは、特に変更された作業コピーファイルをリストアするために設計されています。git が十分に新しい場合はこのコマンドを使うことができますが、ドキュメントには警告が書かれています。

このコマンドは実験的なものです。動作が変更される可能性があります。