ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

squash merge とは

squash merge がよくわかってなかったので調べてみました。

squash merge とは

スカッシュマージ(圧縮マージ)ということで、git merge コマンドを実行するときに、--squash オプションを指定すると、ブランチ先でのすべてのコミットを1つにまとめて、masterブランチに取り込みます。

私見

メリット

ベースブランチの履歴がプルリクエスト単位で整理された形になるため履歴が確認しやすくなると思う。

デメリット

コミット単位で細かい履歴を確認することができなくなるかもしれない。

考慮事項

スカッシュマージでは、既定のブランチの変更履歴が圧縮されます。そのため、マージ時にsquashして1つのコミットにしてしまうと、大きな特徴として通常のマージと異なりマージコミットが発生しません。その代わり、マージ対象のコミットがまとまって1つのみのコミットとなります。