How to Migrate Git Projects to Be One Project with Subprojects

I don't have enough reputation to comment on your history question, so I have to write an answer.

Use --follow with log

--follow
       Continue listing the history of a file beyond renames (works only
       for a single file).

You can do something called a "subtree merge" to combine multiple repositories into one. Let's suppose want to merge ~/projects/alpha and ~/projects/beta into a new project, ~/projects/multi:

$ cd ~/projects/multi
$ git init

Merge in the "alpha" project...

$ git remote add -f alpha ~/projects/alpha
$ git merge -s ours --no-commit --allow-unrelated-histories alpha/master
$ git read-tree --prefix=alpha -u alpha/master
$ git commit -m "Added project alpha"

Merge in the "beta" project the same way. If the change is permanent, then you can delete the alpha remote in your new project. If there is still development in the alpha repo, then you can not only keep history, but pull in new changes too.

All history will still be there, and the project will be in a subdirectory. I use this on my home computer for the "dead projects repository" -- a massive git repository containing everything I've ever worked on that is either abandoned or not large enough for its own repo.