LoginSignup
3
3

More than 5 years have passed since last update.

覚えた使えるGitトリック _ResetとReflog

Last updated at Posted at 2016-03-15

2016年 初春。
アルコール漬けのチンピラからプログラマに転身した私が覚えたトリックを備忘録兼ねてまとめるTips_ Git編


  • git reset
  • git reflog

間違えてコミットしちゃった。やり直したい。って時。
Subversionだとローカルの変更を取り消すupdateかければよかったんだけど、gitだと以下のようにresetコマンドで戻る。

git reset --hard HEAD~

で、コミットが無かったことになる。
んだけど、今度は、やべえ間違えてリセットしちまったって事がある。
そんな時はgit reflogって呪文がある。

git reflog
 9999999 HEAD@{0}: reset: moving to HEAD~
 9999999 HEAD@{1}: commit: 3回目のコミット     
 9999999 HEAD@{2}: commit: 不具合修正
 9999999 HEAD@{3}: commit: 最初のコミット(機能改善)
 9999999 HEAD@{4}: checkout: moving from master to test-branch

こんな感じで、過去のコミット履歴を遡ることができる。

そこで、戻るべきコミット(例えば不具合修正に戻りたい)を指定して、
再び git reset`を唱える。

git reset --hard "HEAD@{2}"

rebase失敗したり、間違ってコミットが全部台無しになったときでも焦らない。
さすがgit

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3