自分が開発しているリポジトリとは別のリポジトリなどで開発されているライブラリなどを、自分のプロジェクトに取り込みたい時、しかも、量が膨大だったりするので別リポジトリのライブラリのソースコードを自分のリポジトリにはコミットしたくない時、gitのsubmodule機能を使うとよい。
これを使うと、submoduleだけpullしたりもできる。
やり方は簡単で、以下のように自分のリポジトリで管理しているプロジェクト内でsubmoduleを追加するだけ。
> git submodule add git://github.com/soundcloud/CocoaSoundCloudAPI.git
上は、SoundCloudのCocoa用APIをサブモジュールとして追加している。