git rebase チートシート

目次

歴史を整理するときに使うコマンドのメモ。push 済みの共有ブランチには使わない

よく使う形

# 直近 3 コミットを整理する
git rebase -i HEAD~3

# main の最新に追従する
git fetch origin
git rebase origin/main

interactive rebase の操作

コマンド 効果
pick そのまま採用
reword コミットメッセージだけ直す
squash 直前のコミットに統合(メッセージは結合)
fixup 直前のコミットに統合(メッセージは破棄)
drop コミットを捨てる

やらかしたときの復旧

  1. git reflog で rebase 前の HEAD を探す
  2. 該当のハッシュに戻す
git reflog
git reset --hard HEAD@{2}

reflog はローカル限定の履歴。約 90 日で消えるので、気づいたら早めに戻すこと。