2つ以上前のコミットを修正したいときに --fixup を使うのは近年ではよく知られている。 $ git commit --fixup <commit> $ git -i --autosquash <commit>~ # rebase.autosquash = true にしておけばオプションは不要 しかし、この方法だと毎回 $EDITOR が開いてしまいちょっと面倒である。 これを回避する方法は GIT_SEQUENCE_EDITOR 環境変数を使う方法で GIT_SEQUENCE_EDITOR=true などとしておくと、エディタを開かずに rebase が完了する。 また git 2.44 以降は --interactive じゃなくても --autosquash が可能になったためさらに簡単になった (GitHubのブログが詳しい) これを使うと以下のような alias を定義する