git reflogについてまとめた
前の変更に戻したいときなどにgit reset –hardを実行してみたものの、過去に遡りすぎて作業データがなくなってしまったことがあった。そのときgit reflogなどのコマンドを実行してもとの状態に戻すことができたが、もう少し深く知っておくことで解決しやすくなると思ったので調べてみることにしました。
reflogとは
reflogを使うことにより過去にコミットした履歴を見ることができる。他のコマンドを使うことで、過去のコミット状態に戻すこともできる。
git reflog
#2b00e06 (HEAD -> master) HEAD@{0}: commit (initial): firstcommit
JavaScriptの勉強の際に使ったコードを初めてコミットしたので、その時にreflogを使って出力してみました。
ハッシュ値やHEADがどのブランチのどこにあるのか、コミット時のコメントが表示されていると思います。
git reflogで表示されたHEAD@{0}と書かれているようなシンボルは、リビジョンのハッシュ値のように使うことができる。コミット内容の確認やgit reset を使って指定した状態に戻すことが可能になります。前のコミットに戻りすぎた時には、もう一度もとの状態に戻すこともできます。
git reflog オプション
show | expire| delete | exists
git reflog show
git reflog show –all で細かい情報が見れる
git reflog show –expire = <時刻>
git reflog delete
reflogから単一のエントリを削除します
まとめ
git でファイルの管理をすることは、とても便利ですぐにファイルの内容を切り替えたり、元の状態に戻したりすることができます。便利な分よく知らずに操作をしてしまうと、これまでの作業データがなくなってしまうかもしれません。また、元に戻すやり方も知っておく必要があると思います。自分も先日作業分が2日分戻ってしまうかもしれない状態になってしまいましたが、reflogやresetを使うことでデータを取り戻すことができました。作業に関しては、一定の区切りが付いたところで、コミットする習慣をつけたいと思います。また、コミットのコメントに関しても適当でなく、コメントを見ることで、どんなコミットを下かがわかるようなコメントを残したいと思いました。
ディスカッション
コメント一覧
まだ、コメントがありません