by shigemk2

当面は技術的なことしか書かない

rebase の功罪 (こわくないGitから)

こわくない Git

P180あたり

Good

  • コミットグラフがキレイになる
  • マージ後のログがキレイになるので、masterにマージする直前にやるのはOKとすることがある
  • Githubなどのオープンソースプロジェクトにプルリクエストを送る場合は、rebaseしてから送るのがマナーとされている(個人的にココを覚えておきたい)

Bad

  • pushされたブランチをrebaseするとpushできなくなる
  • 「マージした」という事実は失われる
  • マージに比べるとコンフリクトの解消が面倒

特にrebaseはリビジョンも書き換えるので、
一旦pushしたブランチをrebaseしてもう一度pushしても「こんなリビジョン知らねえよ」って言われて
pushできなくなります。

push -fで強制的に上書きできるけど、

  • 他の人がpullするときにマージする必要がある
  • コミットログがおかしなことになる

という理由から絶対やるべきではない。