Git submodule 子模組

本篇將介紹怎麼使用 Git 的 submodule 的功能,
通常在開發時有使用到外部第三方的函式庫時(例如:sub.git),
就可以使用 Git submodule 這個功能,
將外部的 Git (sub.git)加入進來,
此時我們自己的 Git (mainrepo.git) 會去記住目前是使用 sub.git 的哪一筆 commit,
而不是去追蹤紀錄整包 sub.git 的程式碼。
這樣 mainrepo.git 就會省很多硬碟空間。

新增 submodule

1
2
cd mainrepo
git submodule add git@github.com:aaa/sub.git sub

再推上 server

抓子模組 submodule

方法1. 一次抓下來

1
git clone --recursive git@github.com:aaa/mainrepo.git

方法二. 先抓完, 再抓submodule

1
2
3
4
git clone git@github.com:aaa/mainrepo.git
cd mainrepo
git submodule init
git submodule update --recursive

移除抓下來的 submodule (清空而已)

1
git submodule deinit .