【Git】PRでスカッシュマージ(squash merge)する方法

programming エンジニア
記事内に広告が含まれています。

GithubのPRをマージする際には、「Create a merge commit」「Squash and merge」「Rebase and merge」の3つのオプションを選択できます。

この記事では複数コミットをまとめてコミットする「Squash merge」についてご紹介します。

 

スカッシュマージ(squash merge)とは

マージする際に複数あるコミットをまとめてコミットすることををスカッシュマージと言います。

作業ブランチでは差分を見やすいように、細かくコミットすることが多いですが、

mainブランチにマージする時には、まとめてコミットしたい!という際によく使用します。

 

チーム開発をしていると各エンジニアがそれぞれがブランチ切ってマージしてmasterブランチがかなり見づらくなります。

これを防ぐために、チームによってはPRのマージは「Squash Merge」を採用しているところもあります。

PRをスカッシュマージ(squash merge)する方法

GithubでPRをスカッシュマージする方法をご紹介します。

例として、下記のように2コミット(squash merge1, squash merge2)の差分があるPRを作成しております。

 

squash-merge-1

マージする際にオプションが選択でき、ここでスカッシュマージ(Squash and Merge)を選択します。

squash-merge-2

スカッシュマージのオプションを選択した状態で、「Merge pull request」を押します。

するとコミットメッセージを編集する画面になります。

デフォルトでは、コミット数分のコミットメッセージが入力されています。

(今回の例でいうとsquash merge1, squash merge2)

squash-merge-3

コミットメッセージを変更したい場合は、上の欄のテキストを変更します。(squash mergeに変更)

squash-merge-4

マージされたmasterブランチのコミットを見ると、一つにコミットがまとまっていることが確認できます。

squash-merge-5

コメント