前提
child1, child2があるとき、parentにまとめたい場合。
手順
- parentディレクトリを作り、parentに移動する。mkdir parent; cd parent
- child1ディレクトリをparentの中に作る。mkdir child1
- git管理したいので.gitkeepを作成する。touch child1/.gitkeep
- git add -A child1で、バージョン管理されていないファイルも含めて変更があったchild1以下を管理対象に追加。
- リポジトリを追加した旨をコミットする。git commit -m "add: child1"
- child1をparentのリモートリポジトリに追加し、fetchする。git remote add child1 ~/child1; git fetch child1
- マージする。git merge --allow-unrelated-histories -X subtree=child1 child1/master
- 不要な.gitkeepを削除する。 rm ~/parent/child1/.gitkeep
- child2について、2以下を同様に行う。
参考url