簡単な開発ブランチ

両方のブランチで開発が進んだところを考えてみましょう。 この目的のため、新しいものを導入します: 複数のブランチとそれらの間のマージを図式化する 方法です。

いまの例では、以下のような状況になっています。


      mainline-0.1                    candice-0.1
      ------------                    -----------
        base-0             -----------> base-0 (a tag)
        patch-1  ---------'             patch-1
        patch-2             ----------> patch-2
        patch-3  ----------'  --------'
        patch-4  <-----------'

これは、candice のブランチは主系からのpatch-1のタグである ことを示しています。: そして、キャンディスのブランチのpatch-2主系patch-3までのすべてのマージがあり、最後に、 主系のpatch-4は、キャンディスのブランチの patch-2までのすべての変更をマージした状態になっています。

マージを示す線が一つもないような図のことを、常に、"単純な開発ブランチ" と言います。

単純な開発ブランチの重要性は、どのようにして二つの開発が一つのプロジェクト 上で非同期的に進めることができるかというモデルだからです。 それぞれの開発ライン上で — それはそれぞれのブランチ上でおこりますが — プログラマは「update/commit」スタイルの共同作業を使います。 (第15章参照)。しかし、 片方の変更は、二つのブランチがマージされるまではもう一方に影響を与えることは ありません。