前回は Git subtree merge について説明しましたが、今回はそれに深い関係がある Git subtree コマンドについての説明です。 まず基本的なこととして、 Git subtree は Git subtree merge と同じものではありません。 subtree merge はマージ戦略として subtree を指定したマージにすぎませんが、 Git subtree は明確に外部ライブラリの取り込みと submodule の代替を目的として設計された機能です。 Git 1.7.11 以降であれば、 Git subtree を使用するのが望ましいでしょう。 なぜなら、 Git subtree には、 Git subtree merge にはない、下記のような機能があるからです。 取り込んだライブラリ側の歴史を"潰し"(squash)てコンパクトな歴史にできる。 自分のプロ