前回は 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)てコンパクトな歴史にできる。 自分のプロ
![Git subtreeによるライブラリ管理について](https://cdn-ak-scissors.b.st-hatena.com/image/square/40431d2f8707dedb1034f3fef9be2a7eb697af11/height=288;version=1;width=512/http%3A%2F%2F4.bp.blogspot.com%2F-4hWD1oWDyWQ%2FVAwm6Ym3D_I%2FAAAAAAAAAC0%2FO4u8P5-rwLk%2Fw1200-h630-p-k-no-nu%2Fgitsubtree.png)