Git Submodule

Jo-Yu Liao
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
git submodule add <url> <new_name>

ls -a 可以看到生成 .gitmodules 的檔案:

ls -a

查看 .gitmodules 可以看到 demo_submodule 的資訊已經寫在裡面

.gitmodules

推到 Github 或 Gitlab repository 可以看到已經加入囉!

github: demo_submodule

But ….

當你新 clone 帶有 submodules 的 repository 時要執行:

git clone --recursive

如果已經抓下來才發現 submodule 是空的,可以用以下指令去抓:

git submodule update --init --recursive

更新 submodule:

cd <submodule>
git pull

--

--

No responses yet