歴史を整理するときに使うコマンドのメモ。push 済みの共有ブランチには使わない。
よく使う形
# 直近 3 コミットを整理する
git rebase -i HEAD~3
# main の最新に追従する
git fetch origin
git rebase origin/main
interactive rebase の操作
| コマンド | 効果 |
|---|---|
pick |
そのまま採用 |
reword |
コミットメッセージだけ直す |
squash |
直前のコミットに統合(メッセージは結合) |
fixup |
直前のコミットに統合(メッセージは破棄) |
drop |
コミットを捨てる |
やらかしたときの復旧
git reflogで rebase 前の HEAD を探す- 該当のハッシュに戻す
git reflog
git reset --hard HEAD@{2}
reflog はローカル限定の履歴。約 90 日で消えるので、気づいたら早めに戻すこと。
Naxii の置き場