趕上清明節(jié)回老家,有段時間沒有更新了,今天說個簡單又好用的東西——git submodule。
背景
先說一下背景吧,如果有相同需求的開發(fā)者就會用得到。由于我需要在我的工程中依賴一個module,而這個module不是我在維護,而是,別的組的同學(xué)在維護,他們每次只要確定更新,告訴我一聲,我更新就行,代碼啥的不用管。
開始的時候我想的是在我的工程之外git clone了一個module A,然后通過AS import進來,但是我發(fā)現(xiàn)這樣做,AS會在本地重新生成一個新的module B,這個B只是A的備份,也就是,每次這個A工程更新了,你的as中的這個B module并不會更新。這樣很尷尬,所以我選擇了使用git submodule的方式。
使用
首先在命令行中將目錄切換到你的工程下,沒錯,就是你的工程下(Project),然后
git submodule add 你想依賴的module的git地址
就像git clone一樣,一個新的module(或project)出現(xiàn)在你的工程目錄下了,然后你進入Android Studio,將你需要的module import進來,再根據(jù)需要進行依賴即可。
更新
如果有需要更新的時候,只需要輸入一下命令:
git submodule update
即可
切換分支
也許你git submodule add之后,需要切換分支,這是,你只要cd 進入這個工程,然后使用checkout就可以只切換這個工程的分支。
刪除
首先,要在“.gitmodules”文件中刪除相應(yīng)配置信息。然后,執(zhí)行“git rm –cached ”命令將子模塊所在的文件從git中刪除。
隊友同步代碼
剛開始這么做的時候有點坑隊友,我使用了git submodule之后忘了告訴同事,他們同步代碼,發(fā)現(xiàn)運行不了了。
當然運行不了了,因為正常同步代碼是不會同步到git submodule的module的,這時候只需要:
git submodule update --init --recursive
總結(jié)
很簡單吧,但是多于多模塊開發(fā),或幾個小組共同作業(yè)的團隊,還是很好用的。
最后還是推薦一下我的公眾號,歡迎給我留言。
更多的開發(fā)知識,可以關(guān)注我的公眾號: