<aside> 💡 現在主にAltiveで使用しているフローはこちら

</aside>

https://nvie.com/posts/a-successful-git-branching-model/

https://nvie.com/posts/a-successful-git-branching-model/

A successful Git branching model | nvie.com ****より

Overview

プルリクエストのマージについて

プルリクエストのマージは以下2種類のマージを使い分ける。

Create a merge commit

release ブランチや hotfix ブランチは、複数のブランチ( main , develop )にマージする必要があり、この時 Squash and merge を使用してしまうと、同一のコミットとみなされず次回コンフリクトが発生してしまう。必ずこちらのマージ方法を使用すること。

Squash and merge

feature ブランチは、 develop ブランチ、または feature ブランチ同士でしかマージしない。

feature ブランチ内での細かいコミット履歴は不要なことが多く、 Create a merge commit でマージすると無駄にコミット履歴が嵩むことになる。

そこで Squash and merge を使用すると、マージがただ1つのコミットで表現される。(=プルリクエスト単位のコミット履歴となる)

maindevelop や、Tag同士 ( v1.0.0v1.1.0 )でコミット差分を見るときも、コミット履歴がプルリクエストタイトルで並んでいて分かりやすい。

基幹ブランチ

main

リリース単位の開発成果がこのブランチにマージされる。