ひとつまえのコミットは $ git commit --amend
で簡単に書き換えられる。
「だが二つ以上前のコミットを書き換える」という簡単なコマンドはない。(みたいだ)
なぜないんだ。あったら良いのに。と、思っていた。
だがこれはあくまで、 $ git commit --amend
が「ひとつ前のコミット」と「そこからの変更状態(HEAD)」を扱うコマンドだからだ、と理解している。
仮に、二つ前のコミットを書き換えるとすると。
「ひとつ前のコミットの状態」と「ふたつ前のコミットの状態」と「変更状態」という。三つの状態を扱わなければいけない。
だから簡単にコミットを書き換えるコマンドが存在しないのだろう。
(まだ厳密にはよく分かっていない)
なので、二つ以上前のコミットを書き換えるには。リベースのインタラクティブモードを使うこと。
$ git rebase -i HEAD~3
みたいなコマンドで。特定のコミットを edit するモードに入る。
そこから $ git commit --amend
すると良い。
(その後、$ git rebase --continue
でリベースを完了させることを忘れずに)
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。