refer: http://clauswitt.com/moving-a-subdirectory-to-a-submodule-in-git.html
Sometimes when you work on a project long enough, you find that for one reason or the other, parts of the project should be in a separate repository. Either the subdir contains reusable code, to be used on another project, ...

2012-04-04