両方のブランチで開発が進んだところを考えてみましょう。 この目的のため、新しいものを導入します: 複数のブランチとそれらの間のマージを図式化する 方法です。
いまの例では、以下のような状況になっています。
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章参照)。しかし、 片方の変更は、二つのブランチがマージされるまではもう一方に影響を与えることは ありません。