Gitで特定ファイルを昔の状態に戻す
git January 5th, 2009間違えてコミットしてしまったファイルを、前のバージョンに戻したい。いくつ前のバージョンに戻したらいいかわからない。という時に。
作業手順
ファイルの中身を確認
% git show HEAD^:path/to/file
や
% git show HEAD^^:path/to/file
をして、以前のバージョンのファイルの中身を覗く。
特定のバージョンにファイルを戻す
バージョンがわかったら戻す。
% git checkout HEAD^ path/to/file
すると以前のバージョンの内容に戻ってる。
使用例
どんな場合に使うか(使ったか)
今回↓のような状態で使った。
% cat index.html ここは○○のホームページです // 普段の内容 % vi index.html あけましておめでとうございます。ここは○○のホームページです // 年始用 % git commit -m '年始用'
年始用をmasterで作業しない方がよかったかな、index.htmlを前の普段の状態に戻しておこう。年始用も今後また使うかもしれないので一応残しておきたい。
% git branch newyear // newyearというブランチを作成 % git branch * master newyear % git show HEAD^:index.html ここは○○のホームページです // 普段の内容 % git checkout HEAD^ index.html % cat index.html ここは○○のホームページです // 普段の内容 % git checkout newyear // newyearブランチに切り替え % cat index.html // 年始用index.htmlを確認 あけましておめでとうございます。ここは○○のホームページです // 年始用
