少し前に誤って消したファイルを復旧する


最近gitを使い始めてます.
そして日記を書きたいので,gitでこんなことをやったというのを書こうかと.
正しい(最適)かは分かりませんが….


いつのまにか必要なファイルをdeleteしてコミットしてしまったようで,ファイルfoo.cppがトラックから消えてました.

調べたところ,コミットabcdでコミットしてしまったようなのでrebaseして復旧します.


// 変更をあっちへぽい!(((ノ≧∇≦)ノ
git stash

// abcdの親からrebase
git rebase -i abcd^

// abcdを編集する
-pick abcd
+edit abcd
pick some

// foo.cppをabcdの親から復旧
git reset abcd^ foo.cpp

// abcdへ編集コミット
git commit --amend

// foo.cppをindexからworking treeへ.
git checkout foo.cpp

// rebaseを終わらせる.
git rebase --continue

// 変更をヽ(・o・ヽ) キャッチ!!
git stash pop


git helpで調べながらやったらこうなりました.
もっとスマートな方法とかあるのかな.
というかこれは良いのかな.