git submodules
當你的專案需要依賴於外部的 git repo、library 時,可以透過 git submodule 將該外部依賴引入至你的專案中。
git submodule 會將外部依賴的某個 commit 引入到你的 repo 中。
How to use?
查看 submodule
git submodule status
初始化 submodule
當你 clone 一個有 submodule 的專案時,需要先透過 git submodule init
初始化被定義在 .gitsubmodules
中的外部依賴。
接著,在透過 git submodule update
更新 submodule。
以上兩個步驟可以透過 git submodule update --init --recursive
合併在一起。
新增 submodule
透過指令 git submodule add <repository_url> <submodule directory path>
,將某個外部 repo 從指定的 url clone 到指定的 path。
更新 submodule
可以直接在 submodule 的資料夾變更檔案、commit 改動、push 到遠端 repo,你的 repo 會記錄目前 repo 正在使用的 submodule 的 commit。
刪除 submodule
執行 git rm <path-to-submodule>
,再 commit 改動到遠端 repo。