Merge git repositories into one

Mein Vorhaben war es mehrere git repo’s unter einem (parent) repo zusammenzufassen. Dafür gibt es mehrere Möglichkeiten dies zu erledigen. Folgendes Vorgehen:

  • parent repo anlengen
    mkdir parent
    cd parent
    touch README.md
    git add README.md
    git commit -m "create README.md"
    git remote add origin https://github.com/USER/parent.git
    git push -u origin master
    
  1. vorhandere repo via submodule (link) hinzufügen
    git submodule add https://github.com/USER/projectA.git projectA
    git commit -am "merge projectA into parent"
    
  2. vorhandenes repo via subtree hinzufügen
    git remote add -f projectA https://github.com/USER/projectA.git
    git read-tree --prefix=projectA/ -u projectA/master
    git pull -s subtree projectA master
    git commit -m "merge projectA into parent"
    
  3. vorhandenes repo inklusive commit’s hinzufügen
    git remote add -f projectA https://github.com/USER/projectA.git
    git merge -s ours --no-commit projectA/master
    git read-tree --prefix=projectA/ -u projectA/master
    git commit -m "merge projectA into parent"