u16suzuの blog

u16suzu のブログです。

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 付けないだけ。