コーヒーと共に優雅なコーディングに没頭。適宜コミットをしていると、あるタイミングで「この変更、2つ前のコミットにまとめたいな」という場合ありますよね。
そのようなことを行いたくてGoogleで検索してみると、大体git rebase -iで対象のコミットまで行って、git commit --amendで修正している記事が多いです。
これより手数の少ない方法がgit commit --fixup
とgit rebase -i --autosquash
を利用した方法です。
- 現在の修正を
git add
でステージングに追加します。 git log --oneline
などを利用して、混ぜ込みたい対象のコミットのコミットハッシュをコピーします。- コピーしたコミットハッシュを使って
git commit --fixup <対象のコミットのコミットハッシュ>
コマンドを実行します。そうすると!fixup <対象のコミットのタイトル>
というコミットが作成されます。 git rebase -i --autosquash <対象のコミットのコミットハッシュ>~
を実行します。- 注意点としては、
-i
オプションを設定すること・対象のコミットもrebase対象に含める必要があるため、コミットハッシュの末尾に~
をつけることです。
- 注意点としては、