Git Submodule
Oct 16, 2019
在 Git repository 引用子 repository !
有時候想在 Git repository 引用另一個子 repository,但又想在子 repository 更新的時候用 Git pull 等方式拉取最新的 Commit,這時候可以用 Git Submodule 的方式將該 repository 添加到當前的 repository。
指令如下:
git submodule add <repository url> <submodule name>
比方說想在當前 repository 引入另一個 repository 並命名為 demo_submodule ,可以執行:
git submodule add <repository url> demo_submodule
ls -a 可以看到生成 .gitmodules 的檔案:
查看 .gitmodules 可以看到 demo_submodule 的資訊已經寫在裡面
推到 Github 或 Gitlab repository 可以看到已經加入囉!
But ….
當你新 clone 帶有 submodules 的 repository 時要執行:
git clone --recursive
如果已經抓下來才發現 submodule 是空的,可以用以下指令去抓:
git submodule update --init --recursive
更新 submodule:
cd <submodule>
git pull