Git submodule

Android 專案設定 Git Submodules

前言

目前有數個專案使用了共同的核心架構,

一開始是每個專案都有一份相同的程式碼。

有天驚覺:

若哪天核心程式碼做了修改,

那麼每個專案都要跟著做調整;

一兩個還好,若是要修改數十個專案,

這肯定會是一場災難。

理想的作法是只要改一次,更改的內容便可同步到其他專案。

針對這個需求,最後決定採用 Git Submodules;

修改完核心程式,各專案的 Submodule 只要 git pull 就可以更新。

設定方式

這部分會提到 Git 以及 Android 專案設定,

其中 Git 是使用 SourceTree 這個 GUI 工具。

SourceTree 設定 Git Submodules

Git submodule

點擊 Add Submodule

指定某個路徑為 Submodule

設定 Submodule 相對路徑,core 是我設定的名稱。

完成,Submodule 是一個獨立的 repository 可以個別管理。

Android Studio 設定

專案根目錄 settings.gradle 設定 module 目錄:

app/build.gradle 新增相依的專案:

後記

自從設定完 Git Submodules,

最有感的部分在於:

新專案處理架構的時間都省下來了,

只要把 module 引入專案就好,相當方便。

有什麼想法嗎?快來跟大家分享你的看法。