gitブランチの名前の付け方2

以前、gitブランチの名前の付け方について紹介したことがあります。

gitのブランチの名前の付け方

実際に定着している名前は、次の4つです。
プロジェクトによっては、master、developだけで済ましてしまうこともあります。

(1) master
製品ブランチ

(2) develop
リリース前の確認用ブランチ

(3) personals/aoki/develop
開発者ごとの作業ブランチです。developからブランチします。

(4) personals/aoki/1
一時的な作業ブランチです。最後の数字はチケット番号です。personals/aoki/developですでに作業中のとき、別チケットの作業をしたいときの一時的なブランチです。developからブランチします。コミットして、developへマージしたら、すぐに削除します。

今は使わなくなった方法も紹介しましょう。

(ボツ1) ブランチ名に機能の名称をつける

チケットにする前の実験的な機能を試したいときに、ブランチ名に機能の名称をつけたことがあります。

例えば、
develop_camera
develop_news

コレという名前を考えるのが面倒でした。チケットを起こしてチケット番号をつけたほうが楽です。そもそも実験的なので放置することも多く、何をやっていたかを覚えていないこともあります。チケットにアイデアをメモしておくと、何をやっていたか思い出しやすくなります。

(ボツ2) 複数の作業ブランチ

gitは簡単にブランチ作成できることもあって、
personals/aoki/1
personals/aoki/2
personals/aoki/3
といったように、複数の作業ブランチを作成していたことがあります。

confictの解決も手間ですが、conflictがなかったとしても、マージ操作自体が面倒でした。

例えば、personals/aoki/1の作業が一段落したら、
personals/aoki/1からdevelopへマージ
developからpersonals/aoki/2へマージ
developからpersonals/aoki/3へマージ
する必要があります。

さらに、他の開発者がdevelopへpushしたら、
developからpersonals/aoki/1へマージ
developからpersonals/aoki/2へマージ
developからpersonals/aoki/3へマージ
する必要があります。

このようにブランチ切り替えとマージ操作が多くて面倒だったので、ブランチを作りすぎるのもどうかと感じました。

「継続的デリバリー」という本では、複数人で開発していても、メインブランチ1本を推奨しています。ブランチ間のマージが面倒になるため、またメイン以外のブランチは自動テストしないことが多いためです。また、少なくても1日に1回、たいていは1日に数回コミットすることも推奨しています。