git reflogで削除したブランチを復活

git reflogで削除したブランチを復活

gitで作業していて、間違って作業中のブランチを消してしまったっとき

$ git reflog 

をたたくと、現時点までのgitにおける作業ログが見れる。全てのブランチのコミットだけでなく、checkoutやrebase, commit amendなども見れる。

ここから復元したいブランチの最終コミット(最終でなくてもいいけど、普通は削除した最後の状態で戻したいと思うので)の SHA_1をコピーし、ふたたび

git checkout [SHA_1]

でそのコミットを空のブランチに復元します。そんでもって

git checkout -b [branch_name]

で、目的のコミットツリーを新しいブランチとして作ることができる。簡単!

ちなみにtigを入れている人は

$ git reflog --pretty=raw | tig --pretty=raw

でtigなカラーリングと、より細かいreflogが見れる。閲覧できる数は減るものの、コミットメッセージのみで目的のコミットを探すのが難しい場合はこちらの方が良い

Recent Posts

Loading...