Gitで他のレポジトリを取り込む方法には
- submodule
- subtree
- subrepo
がありますが、基本はsubmoduleで依存リポジトリを追加します。
依存関係の追加
$ git submodule add (レポジトリのURL)
例えばREAL Coreを追加する場合は
$ git submodule add git@github.com:starpentagon/realcore.git
となる。
依存レポジトリの取込
submodule addした際には依存レポジトリが取り込まれますが、改めてgit checkoutした場合などは空フォルダになっているので
$ git submodule init $ git submodule update
として依存レポジトリを取り込む必要があります。
依存関係レポジトリの更新
参照先のレポジトリが更新された場合には
$ cd realcore $ git checkout master
でsubmodule更新を反映できる。あわせて自レポジトリのsubmodule参照先(依存レポジトリへのポインタ)も更新するために自レポジトリ側でもadd/commitをしておく必要がある。
$ cd .. $ git add -A $ git commit -m "Update submodule."