facebook twitter hatena line email

Git/github/プルリク

提供: 初心者エンジニアの簡易メモ
2024年12月18日 (水) 14:09時点におけるAdmin (トーク | 投稿記録)による版 (プルリク時のマージ)

移動: 案内検索

プルリク時のマージ

メリット・デメリット

参考:https://zenn.dev/noraworld/articles/github-merge-options

Squash and mergeでマージすると

プルリク時に"Squash and merge"ボタンでマージすると、リビジョンが一つにまとまり、以下のように複数リビジョンのコメントがリビジョンログに残る。個別リビジョンは削除されてる。

commit f7f19f5ffca289e6962ed8dbeea3b57c5c4ecb37
Author: user1 <user1アットメール>
Date:   Wed Nov 23 20:42:16 2022 +0900

    Test (#6)

    * testを追加

    * testを変更

    * testの名前変更

Rebase and mergeでマージすると

プルリク時に"Rebase and merge"ボタンでマージすると マージされたものをpullしたときに、"Merge pull request #3 from feature/test"な文言がなくなり、個別リビジョンはそのまま反映される。

以下順序で、コミットするして、"Rebase and merge"すると

  1. feature/testで、"user追加"コミット
  2. feature/test2で、"user2追加"コミット
  3. feature/testで、"user変更"コミット
  4. feature/test2で、"user2変更"コミット

ログは、古い順ではなく、以下のようにブランチごとに、まとめられる。

  1. feature/testで、"user追加"のリビジョン
  2. feature/testで、"user変更"のリビジョン
  3. feature/test2で、"user2追加"のリビジョン
  4. feature/test2で、"user2変更"のリビジョン

承認得ずにマージしたい場合

mergeボタンの上の、

merge without waiting for requirements to be met (bypass branch protections)

にチェックを入れればマージできるが、事前にチーム内で、ルールができてれば勝手にマージしてokかも。