title: Reorganize git project using submodule
body: <p>My project(git project) is based on several git projects maintained by others, and I think git's submodule will make it better. (may be other git functions?) </p>
  
  <p>I commit all their updates to my projects, that is to say, I clone their projects to my sub folder instead of a submodule, and fetch their projects sometimes and then commit it to my projects, because I need their latest version. </p>
  
  <p>After that, my git projects contains lots of boring things esp. when I diff the head. These days I learnt some git basic skills, realize it should be a submodule. But My project is already here. I want to reorganize my project. But I can't tell a best practice to do this task with a smallest cost.</p>
  
  <p>Main problem is that I don't want to lose the commit messages in my projects or rebuild my git project from init point. Also, the project's update message is extract from commit.</p>
  
  <p>A best procedure about this?</p>
  
  <p>Maybe just the contrary procudure of this? 
  <a href="https://stackoverflow.com/questions/1759587/un-submodule-a-git-submodule">un-submodule a git submodule</a></p>