GIT SUBMODULE在Android中的使用

mymdeep發表於2017-04-06

趕上清明節回老家,有段時間沒有更新了,今天說個簡單又好用的東西——git submodule。


背景

先說一下背景吧,如果有相同需求的開發者就會用得到。由於我需要在我的工程中依賴一個module,而這個module不是我在維護,而是,別的組的同學在維護,他們每次只要確定更新,告訴我一聲,我更新就行,程式碼啥的不用管。
開始的時候我想的是在我的工程之外git clone了一個module A,然後通過AS import進來,但是我發現這樣做,AS會在本地重新生成一個新的module B,這個B只是A的備份,也就是,每次這個A工程更新了,你的as中的這個B module並不會更新。這樣很尷尬,所以我選擇了使用git submodule的方式。

使用

首先在命令列中將目錄切換到你的工程下,沒錯,就是你的工程下(Project),然後

git submodule add 你想依賴的module的git地址複製程式碼

就像git clone一樣,一個新的module(或project)出現在你的工程目錄下了,然後你進入Android Studio,將你需要的module import進來,再根據需要進行依賴即可。

更新

如果有需要更新的時候,只需要輸入一下命令:

git submodule update複製程式碼

即可

切換分支

也許你git submodule add之後,需要切換分支,這是,你只要cd 進入這個工程,然後使用checkout就可以只切換這個工程的分支。

刪除

首先,要在“.gitmodules”檔案中刪除相應配置資訊。然後,執行“git rm –cached ”命令將子模組所在的檔案從git中刪除。

隊友同步程式碼

剛開始這麼做的時候有點坑隊友,我使用了git submodule之後忘了告訴同事,他們同步程式碼,發現執行不了了。
當然執行不了了,因為正常同步程式碼是不會同步到git submodule的module的,這時候只需要:

git submodule update --init --recursive複製程式碼

總結

很簡單吧,但是適用於多模組開發,或幾個小組共同作業的團隊,還是很好用的。


最後還是推薦一下我的公眾號,歡迎給我留言。
更多的開發知識,可以關注我的公眾號:

GIT SUBMODULE在Android中的使用

相關文章