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です。
参考
参考記事です。