git rebase -i
rebase -i
squash : 離れたふたつのコミットをまとめる
-
くっつけ先のコミット番号を確かめる
$ git log --oneline
コミットが一覧表示されるので、くっつけ先のコミット番号を控え、
:q
で閉じる-
rebase を開始する。
$ git rebase -i <くっつけ先のコミット番号>
エディターが開き、 3 で指定したコミット番号より後のコミット一覧が表示されるので、くっつけたいほうの pick を一番上に移動する。
pick
をsquash
に書き換える。:wq
で保存して閉じる-
コミットメッセージを書く用?のエディタが開くので、
You are currently rebasing branch 'master' on 'リビジョン番号'.
の次の行のコメントを外して、コミットメッセージを書く。
(たぶん、その上のほうにあるコミットメッセージも変えたければ編集したほうがよいんだと思う)
:wq
で保存して閉じる-
リモートリポジトリにフォースプッシュする。
$ git push -f
reword: コミットメッセージを変更する
-
コミット一覧を表示し、コミットメッセージを変更したいコミットの一つ前のコミット番号を控える
$ git log --oneline
:q
で閉じる-
rebase を開始する。
$ git rebase -i <1 で控えたコミット番号>
エディターが開き、 3 で指定したコミット番号より後のコミット一覧が表示されるので、コミットメッセージを変更したいコミット番号の
pick
をreword
書き換える。:wq
で保存して閉じるコミットメッセージを書く用?のエディタが開くので、コミットメッセージを変更する。
:wq
で保存して閉じる-
リモートリポジトリにフォースプッシュする。
$ git push -f