Merging git repositories without lose commits history
In this tutorial I’ll show how to merge git separated repositories in a new one without lose it’s commits history
First you need to create a new repository and start git
git init
Create a README.md (you should have an initial commit)
dir > README.md
git add .
git commit -m "Create README.md"
Add your merge repository as remote
git remote add merge_repo <repo URL>
git fetch merge_repo
Merge your repository | * — allow-unrelated-histories it’s because since 2.9.0, Git doesn’t allow automatic merges with repositories with different histories
git merge merge_repo/master --allow-unrelated-histories
Create a new folder to your first repository
mkdir FirstRepoFolder
Now move all Repository files to your folder
git mv <files> ./FirstRepoFolder
After you move all of your files, you should commit
git commit -m "docs: move FirstRepo into a paste"
Now you’ve already complete your first merge
To merge the second repository, let’s reset the remote repository
git remote set-url merge_repo <repo URL>
git fetch merge_repo
And follow the same steps as the first
git merge merge_repo/master --allow-unrelated-histories
mkdir SecondRepoFolder
git mv <files> ./SecondRepoFolder
git commit -m "docs: move SeconddRepo into a paste"
And that’s all, now you have yours repositories merged without loose it’s commits history
*As you can see, you could repeat this process as many times as you want with others repositories.