Today I wanted to create a new git repository that should contain several subdirectories that each were initially stored as separate git repos. Of course I didn’t want to lose the history. Thanks to user ebneter‘s answer at StackOverflow I was able to do so. These are the steps I took:
mkdir new_combined_repo git init # Make empty new 'container' repo (no need to create a subdir at this point yet) git remote add oldrepo /path/to/oldrepo git fetch oldrepo git checkout -b olddir oldrepo/master mkdir olddir git mv stuff olddir/stuff # as necessary git commit -m "Moved stuff to olddir" git checkout master git merge olddir # should add olddir/ to master git commit git remote rm oldrepo git branch -d olddir # to get rid of the extra branch before pushing git push # if you have a remote, that is
Leave a Reply