#author("2024-02-19T03:12:40+09:00","default:Miyashita","Miyashita")
#author("2024-02-19T03:12:55+09:00","default:Miyashita","Miyashita")
*ファイルの復活・復元 [#l89e75e2]

**対象ファイルを書き換えて復元 [#h218427f]
変更されたファイル,または削除された"hogehoge.txt"を特定のコミット時点の状態に復元させたいときは,
git logでコミットを確認した後に,
#codeprettify{{
git checkout HEAD^ hogehoge.txt
}}
HEAD^の部分はコミットに応じて適宜修正.コミットのハッシュを入力しても良い.~
checkout を使うと今の hogehoge.txt が書き換えられる,指定したコミットの状態になる.~
~
最近は,restore コマンドが checkout から派生して登場したらしい.以下は上と同じ結果を得る.
#codeprettify{{
git restore -s HEAD^ test2.txt
git restore -s HEAD^ hogehoge.txt
}}
~
~
**対象ファイルを書き換えずに復元 [#nbc83cbb]
今のファイルはそのまま残して,過去のコミット時点または他のブランチのファイルを確認したいときは
#codeprettify{{
git show [commit]:[filename]
}}
で閲覧できる.ファイルとして書き込むなら通常のシェルスクリプトとしての標準出力をしたらOK.~
例えば HEAD^ の "hogehoge.txt" を別名で復元するなら
#codeprettify{{
git show HEAD^:hogehoge.txt > hogehoge_old.txt
}}

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes