Subtree
2つのブランチをマージする時に使用できる「マージストラテジー」です。マージのアルゴリズムそのものは、「Recursiveマージストラテジー」と似ています。
違いは、マージするブランチのファイル群を、現在の「ワーキングディレクトリー」内のサブフォルダー内にあるファイル群にマージする、という点です。
マージするブランチのファイル群が、「ワーキングディレクトリー」内のどのサブフォルダー内に配置されているかは、「Git」が自動的に判断します。
Subtreeの例
マージする「fix」ブランチの「ワーキングディレクトリー」は、以下のようになっています。「HEAD」が指す「master」ブランチの「ワーキングディレクトリー」は、以下のようになっています。
「master」ブランチの「ワーキングディレクトリー」の「fix」サブフォルダー内に、「fix」ブランチのファイル群を配置しています。
この状態で「master」ブランチに「fix」ブランチを「Subtree」でマージすると、「fix」サブフォルダー内のファイル群と「fix」ブランチのファイル群がマージされます。