Open4

Git の Merge戦略・方法について (Squash Mergeなど)

まさぴょん🐱まさぴょん🐱

Squash Merge の採用事例・メリットなど

  • Sqash Mergeは、特定のブランチに含まれる複数のコミットを1つのコミットにまとめて、別のブランチにマージすることを意味します。

Squash Mergeをなぜ利用するのか?

4つの理由があります。

  1. mainブランチの履歴がきれいになる
  2. revert時の問題が発生しにくくなる
  3. コンフリクト解消の作業が楽になる
  4. commitメッセージをいちいち気にしなくて良い(Pull Requestのタイトルは気にして欲しい)

https://hireroo.io/journal/tech/squash-mege-in-web-frontend-development

https://tech.excite.co.jp/entry/2022/11/21/103000

https://shungoblog.com/git-squash-merge/

まさぴょん🐱まさぴょん🐱

Squash and merge のメリット

  1. コミット履歴の簡素化
    • 複数の小さなコミットを一つにまとめることで、履歴がスッキリする
    • 後から変更履歴を追いやすくなります
  2. レビューの容易さ
    • 変更が1つのコミットにまとめられる。
    • レビュアーが変更内容を理解しやすくなります 。
  3. マージの簡素化
    • 複数のコミットを1つにまとめることで、マージ時のコンフリクトを減らし、プロセスを効率化できる。

Squash and merge のデメリット

  1. コミットの粒度の喪失
    • すべての変更が、1つのコミットに統合されるため、各変更の意図や経緯が追跡しづらくなる可能性があります。
  2. マージ後の操作の違い:
    • Squashによるマージを使用した後、revertする場合に通常のマージコミットとは違う操作が必要になる場合があります。