git rebase
目次

リベース

master ブランチにリベースする

$ git rebase master

コンフリクトしたらコンフリクトを解消して、

$ git add .
$ git rebase --continue

リベースが終わったらフォースプッシュ

$ git push -f

間違えてリベースして元に戻したい

push しちゃった場合

$ git reflog
$ git reset --hard HEAD@{6}  # 戻りたい番号そのものを書けばよいみたい
$ git push -f

push してない場合

間違えてリベースしたブランチを origin に戻す

$ git checkout -B <branch-you-want-to-restore> origin/<branch-you-want-to-restore>

preserve-merges オプション

分岐してマージしたよ、という履歴みたいなのを保ったまま、リベースしてくれる

$ git rebase --preserve-merges master