[解決済み] ファイルをリセットしたり、特定のリビジョンに戻したりするにはどうすればよいですか?
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 が十分に新しい場合はこのコマンドを使うことができますが、ドキュメントには警告が書かれています。
このコマンドは実験的なものです。動作が変更される可能性があります。
関連
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] エラーです。リベースを使用してプルできません。あなたはステージングされていない変更を持っています
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み] Git で管理されているプロジェクトのローカルな変更をすべて以前の状態に戻すにはどうすればよいですか?
-
[解決済み] Gitで特定のリビジョンから単一のファイルを取得する方法とは?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
-
[解決済み】別のブランチから1つのファイルだけを取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み] [Solved] 作業ツリーのディレクトリ 'example.com' を作成できませんでした。パーミッションが拒否されました
-
gitアップロードの共通エラー処理
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み】gpgがデータの署名に失敗した fatal: failed to write commit object [Git 2.10.0].
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] 1つのファイルを以前のバージョンに戻すにはどうすればよいですか?重複
-
[解決済み] Git は feature ブランチの単一ファイルを master と同じになるようにリセットする [重複] 。