ブランチとは
英語では「枝」ですが、「分岐」のことです。
ブランチはなるだけ避ける
Version Control Strategiesという記事を見つけたのですが、 以下のように分類されています(ちゃんと読んでないのであとで読み直します)。
- リリースフィーチャーブランチ
- 機能開発のためにブランチを作成して、リリース時にマージする方法
- trunkベース開発
- フィーチャートグルを使って、trunkだけで開発
- インテグレーションフィーチャーブランチ
- インテグレーションブランチを用意して、trunkと定期的にマージ
- ビルドフィーチャーブランチ
- 1と同じようですが、開発終了時にマージ
まだざっとしか読んでないので間違っているかもしれませんが、 基本は「ブランチはアンチパターン」です。 実際、ブランチを作ることは、倍のコストがかかります。 広く使われているソフトで、複数のバージョンを管理するだけのコストに見合う場合はまだいいですが。
これは強く言いたいのですが、ブランチがアンチパターンだからと言って、 独自の方式を採用するのはもっと論外です1。
正しい方法は、フィーチャートグルを使って、trunk 1本で開発することです。
-
「非常識」な開発者がよくやる。 ↩︎
外部サイト
- フューチャブランチの発展は継続的インテグレーションの衰退である
- Organisation Antipattern: Release Feature Branching – Continuous Delivery Consulting