Git で削除してしまったファイルを復元して、もとに戻す方法

最終更新:2018-10-15 by Joe

Git であっ!と間違って削除してしまったファイルを復元して、もとに戻す方法についてです。

削除してしまったファイルを復元する Git コマンド

ついついgit rm や、 rm コマンドでファイルを削除したら、間違ったファイルを消してしまうことはよくあります。問題は、これをサクッと取り戻すコマンドが「なんだっけ・・?」となりやすい点です。頻繁に使わないコマンドは忘れてしまいますよね。

ではさっそく、見ていきます。

1まだ git add していないファイルの復元

git checkout の記事で紹介したように、「git checkout」は「現在の作業ツリーにファイルを展開する」ためにも使えるコマンドなのでした。作業ツリーから削除してしまったファイルが有っても、このコマンドを使って取り戻す事ができます。

git checkout のコミット識別子の引数が無い場合は、デフォルトで「インデックス」を対象にします。

// インデックスにあるファイルを作業ツリーに展開
git checkout deleted-file.php

2git add してしまったファイルの復元

git add してしまったあとは、直前のコミットから取り戻し復元しましょう。git checkout にコミットを指定すれば大丈夫です。

HEAD という参照を利用して、直前のコミットからファイルを取り出します。

// 直前のコミットから、ファイルを復元する
git checkout HEAD deleted-file.php


// 特定のコミットからフィアルを復元する
git checkout HEAD deleted-file.php

もちろん、別ブランチのコミットであっても、そのままコミット識別子を指定すればOKです。

参考

参考記事です。