git rebase の使い方
注意! 多人数開発時多数が利用しているリモートレポジトリのブランチ(master等)にpushしてしまった後はやらないほうが良い!branch切って作業すべき!
git コミットをまとめるには
git rebase -i HEA~3 で、コミットログがエディタで開かれるので pick を squashかfixup にする。
squash の場合はコミットメッセージが保持されるが、fixup の場合は破棄される。
すでに push した場合は、以下で強制的にプッシュできる。
一人で使っている場合はこれでいい。
$ git push origin -f
コミットの順番を入れ替える
git rebase -i でエディタが起動するので、コミットログの順番を変えるだけ。
順番が前のコミットに依存しているときなど、変更の内容によってはコンフリクトが生じる。
git rebase をミスった時
git rebase -i をミスった時("Interactive rebase already started")とでるときは
git rebase --abort でなかったコトにできる。
commit log を複数行書く
commit 時に -m 付けないだけ。