ブランチ (ソフトウェア)
バージョン管理システムおよびソフトウェア構成管理におけるブランチ(branch)とは、バージョン管理システムの管理下にあるオブジェクト(ソースコードファイル、ディレクトリツリーなど)を複製し、それぞれ同時並行して変更が行えるようにしたものである。
ブランチはツリー(tree)、ストリーム(stream)、コードライン(codeline)などとも呼ばれる。分岐元のブランチは親ブランチ(parent branch)、アップストリームブランチ(upstream branch)(特に、分岐元のブランチが他の組織や個人により管理されている場合には単純にアップストリーム(upstream)とも)、バッキングストリーム(backing stream)などと呼ばれる。親を持つブランチは子ブランチ、親のない(起点となる)ブランチはトランク(trunk)またはメインライン(mainline)などと呼ばれる。
分散型バージョン管理システムの中にはDarcs(英語版)のように、リポジトリとブランチを区別できないものもある。このようなシステムでは、リポジトリのコピーの取得はブランチの作成と変わらない。
ブランチを作成する場合、通常は変更点を後で親ブランチに対してマージまたは統合できる必要がある。トランクを直接の親としないブランチから、トランクへの変更点をマージするといったことも行われる。マージ予定のないブランチの作成は、一般的にフォークと呼ばれる。