Android Git submodule詳解用法示例
引入
假定我們有兩個項目:Cup 和 Water,其中 Cup 表示主項目,而 Water 表示子模塊項目。
其中 Cup 的遠程倉庫地址為 git@github.com:SkyMissT/Cup.git
而 Water 的遠程倉庫地址為 git@github.com:SkyMissT/Water.git
接下來,我們希望在 Cup 中添加 Water ,而又保持 Water 自身獨立的版本控制。
創(chuàng)建 submodule
使用 git submodule add <submodule_url> 命令可以在項目中創(chuàng)建一個子模塊
先 cd 到 Cup 項目的根目錄,執(zhí)行以下命令
git submodule add git@github.com:SkyMissT/Water.git
此時項目倉庫中會多出兩個文件:.gitmodules 和 water
.gitmodules中的信息
[submodule "Water"] path = Water url = git@github.com:SkyMissT/Water.git
添加后要再提交一次,遠程才能有信息
git commit -m "add submodule xxx" git push
此時再看git庫,這里的Water文件夾,點擊會跳到Water的git庫,至此submodule添加成功
拉取帶有 submodule 的項目
帶有submodule的項目直接用 git clone git@github.com:SkyMissT/Cup.git
拉下的代碼是不包含 submodule 代碼的
git clone git@github.com:SkyMissT/Cup.git --recurse-submodules
這樣會遞歸地將項目中所有子模塊的代碼拉取。另外一種可行的方式是,在當前主項目中執(zhí)行:
git submodule init git submodule update
則會根據(jù)主項目的配置信息(.gitmodules),拉取更新子模塊中的代碼。
本地配置
配置 setting.gradle
include ':Water:app'
配置 build gradle
implementation project(path: ':Water:app')
代碼提交
主項目上的代碼提交
比如我們主項目與module都做了修改,commit時候是這樣的
可以選擇只提交一部分,也可以都選擇提交,提交到他們各自的倉庫,再看 push 的樣子
與commit情況類似,可選擇的push到遠程庫
submodule獨立項目上的代碼提交
與一般的代碼提交一樣,操作都一樣。主項目中的submodule模塊push后Water項目該有的全有,Water項目push后主項目也會有
刪除 submodule
// 修改 .git/config ,刪除 Water 文件下所有的代碼 git submodule deinit Water
執(zhí)行git submodule deinit Water
之前
執(zhí)行git submodule deinit Water
之后,submodule“Water”被移除
// .gitmodule 文件內(nèi)容清空,刪除 Water 文件夾 git rm Water // 提交代碼 git commit -m "rm Water" // 推到遠程 git push
submodule 被移除
到此這篇關(guān)于Android Git submodule詳解用法示例的文章就介紹到這了,更多相關(guān)Android Git submodule內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android自定義View制作動態(tài)炫酷按鈕實例解析
這篇文章主要為大家詳細解析了Android自定義View制作動態(tài)炫酷按鈕實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07AndroidStudio Gradle第三依賴統(tǒng)一管理的實現(xiàn)方法
這篇文章主要介紹了AndroidStudio Gradle第三依賴統(tǒng)一管理的實現(xiàn)方法,需要的朋友可以參考下2017-09-09Kotlin開發(fā)實戰(zhàn)之hello world
這篇文章主要為大家詳細介紹了Kotlin開發(fā)實戰(zhàn)之hello world的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Android獲取設備CPU核數(shù)、時鐘頻率以及內(nèi)存大小的方法
這篇文章主要介紹了Android獲取設備CPU核數(shù)、時鐘頻率以及內(nèi)存大小的方法,涉及Android針對系統(tǒng)硬件相關(guān)操作技巧,需要的朋友可以參考下2016-07-07Android實現(xiàn)將應用崩潰信息發(fā)送給開發(fā)者并重啟應用的方法
這篇文章主要介紹了Android實現(xiàn)將應用崩潰信息發(fā)送給開發(fā)者并重啟應用的方法,涉及Android錯誤處理與應用操作的相關(guān)技巧,需要的朋友可以參考下2016-03-03Android Adapter里面嵌套ListView實例詳解
這篇文章主要介紹了Android Adapter里面嵌套ListView實例詳解的相關(guān)資料,這里提供實例代碼并說明如何實現(xiàn)該功能,需要的朋友可以參考下2017-07-07