はじめに
この記事は構成管理が初めて!であったり、master(svnでいうtrunk)しか使ったことがない!といった人向けになります。
Branch
ブランチは分岐させるという意味合いがあります。
例えば1つのベースモデルの開発があり、そこから分岐して廉価版モデルやチップ構成が異なるモデルなどといった場合にBranchさせて開発を行います。
ブランチさせた後にベースモデルで不具合などあるとマージが必要となってきますのでBranchさせるタイミングは注意が必要です。
他にはOS毎にBranchしてOSに依存する部分のみ分岐開発するというのもよいと思いますが、この場合OSに依存しないApplication層等はsubmodule化する方が良さそうです。
考えやすい例(実際そうだという訳ではありません):
- 車のマイナーチェンジモデル(どちらかというとTagになるかも)
- ノアとヴォクシー、
- iPhoneXXとiPhoneXX Pro , iPhone XX SE
- 親会社と子会社の社内規則など
Tag
タグはあるリリースの静的なバージョンを持つときに利用します。
Branchと異なる点はTagが作成されて以降変更が入らないというのがTagの使い方となります。
その他Branchを使ったアイデア
masterとdevelopBranchを作成して、基本的にメンバーはdevelop側で開発します。
masterマージする際にはマージリクエストが行われますので、そこでコードレビューが必ず行われる仕組みとして開発を進める。
ただし、最初からではなく一度全体的にコードレビューが完了したモジュールからこの流れにするとよいと思います。
終わりに
非常に簡単ですが、ブランチとタグの説明・使い方・アイデアとなります。
これから構成管理を担当していく方など参考になればと思います。