GitGit is probably the most popular versioning tool for developers right now.
Merging Git Repositories Including Their Histories
Some of you know the problem: You want to merge multiple repositories into a single mono-repo. But how can you do that without losing the history of one of them? The solution is actually quite simple!