Gitのmergeとrebaseを使い分ける方法について、Bitbucketのマージとリベースという記事がとても参考になったので要点を紹介します。
ルール
- PRを出す前にrebaseを行い、乱雑な履歴をクリーンアップする。
- PRを出した後はrebase禁止。
コードレビュープロセスの一環としてプルリクエストを使用する場合は、プルリクエストを作成した後に git rebase を使用しないでください。プルリクエストを行うとすぐに、他の開発者があなたのコミットを見ることになります。つまり、それは パブリック ブランチです。履歴を書き換えると、Git とチームメイトはフィーチャーに追加された後続のコミットを追跡できなくなります。
他の開発者の変更は git merge で取り込む必要があり、 git rebase ではありません。
このため、プルリクエストを送信する前に、対話式リベースを使用してコードをクリーンアップすることが一般的に勧められます。