Git で複数のリポジトリをまとめたり、逆に切り出したりする - Qiita
そのまんまですが、
repo1---repo2 |__repo3 |__repo4 |__repo5
みたいな構成になっているとき、repo2だけ独立したリポジトリにして、しかもコミットログも引き継がせたいときはこんな感じのコマンドをうつ。
git clone ~/repo1 ~/repo2 cd ~/repo2 git filter-branch --subdirectory-filter subdir HEAD
GitHubで巨大なリポジトリからリポジトリを切り出したいときに便利。便利なんだけど、ググラビリティがものすごく低いんだな。