考えられるほとんどの状況や組織に対して、適切な分岐戦略を選択できるようになりたいと考えています。そこで私は、開発組織でコード リポジトリ ブランチの使用を拡大することのプラスとマイナスの効果の広範なリストを探しています。
投票システムがフィードバックをランク付けするのに役立つように、各投稿に賛成 または反対を1 つずつ投稿してください。
考えられるほとんどの状況や組織に対して、適切な分岐戦略を選択できるようになりたいと考えています。そこで私は、開発組織でコード リポジトリ ブランチの使用を拡大することのプラスとマイナスの効果の広範なリストを探しています。
投票システムがフィードバックをランク付けするのに役立つように、各投稿に賛成 または反対を1 つずつ投稿してください。
メリット: 最新のデプロイ済みバージョンをトランクに保持することで、最新の開発バージョンを大規模にテストすることなく、小規模な修正を迅速に展開できます。
長所:開発者は、互いの足を踏むことなく、よりタイトなイテレーションでより自由に作業できます。
長所: 多くのブランチがある場合、従来の中央集権型システム (svn など) にとどまるのではなく、最新の DVCS (私の経験では Mercurial を使用していますが、git や Bazaar も良いと聞いています) を採用するように求められます。
長所:ブランチを使用すると、新しいコードを試す際の「what-if」シナリオを容易にすることができます。最後に、新しい機能をマージするか、放棄するかを決定できます。
短所(そしてそれは大きなものになる可能性があります):将来のある時点でマージバックします。期間が長くなり、コードベースの偏差が大きくなればなるほど、あなたの人生は難しくなります. 私のアドバイス: 分岐については非常に慎重に検討し、必要な場合にのみ実行するようにし、後で必要になった場合にマージに伴う労力を考慮するようにしてください。
短所:同時にあまりにも多くのブランチが空中にあると、どこにコミットされたのか、どこに変更が加えられたのかなどを忘れ始めます。
短所:悪夢をマージします。
長所:複数の作業の流れを同時に開発またはサポートする目的で、コードを分岐する際の柔軟性が向上します。
短所:ジュニア開発者の学習しきい値が高くなります。
長所: 各更新は他の更新から独立しているため、作業を並列化できます。
短所:誰かがブランチを管理し、物事を把握しなければなりません。ほとんどのチームでは、これは脇道に落ちます。