If the goal is to move <i>all</i> the commits of one repo into another repo, Git provides subtree merges:<p><a href="https://docs.github.com/en/get-started/using-git/about-git-subtree-merges" rel="nofollow">https://docs.github.com/en/get-started/using-git/about-git-s...</a><p>For companies that started out making lots of small repositories that want to moev incrementally to a monorepo, this strategy can be useful because it sets up the smaller repo as a self-contained unit of the larger repo, preserving things like git commit history and git blames. After a subtree merge, further steps can more tightly integrate the code into the larger repository (i.e., so that it is no longer wholly contained in the subtree).