您好,登錄后才能下訂單哦!
小編給大家分享一下Android Git submodule怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
假定我們有兩個(gè)項(xiàng)目:Cup 和 Water,其中 Cup 表示主項(xiàng)目,而 Water 表示子模塊項(xiàng)目。
其中 Cup 的遠(yuǎn)程倉庫地址為 git@github.com:SkyMissT/Cup.git
而 Water 的遠(yuǎn)程倉庫地址為 git@github.com:SkyMissT/Water.git
接下來,我們希望在 Cup 中添加 Water ,而又保持 Water 自身獨(dú)立的版本控制。
使用 git submodule add <submodule_url> 命令可以在項(xiàng)目中創(chuàng)建一個(gè)子模塊
先 cd 到 Cup 項(xiàng)目的根目錄,執(zhí)行以下命令
git submodule add git@github.com:SkyMissT/Water.git
此時(shí)項(xiàng)目倉庫中會多出兩個(gè)文件:.gitmodules 和 water
.gitmodules中的信息
[submodule "Water"] path = Water url = git@github.com:SkyMissT/Water.git
添加后要再提交一次,遠(yuǎn)程才能有信息
git commit -m "add submodule xxx" git push
此時(shí)再看git庫,這里的Water文件夾,點(diǎn)擊會跳到Water的git庫,至此submodule添加成功
拉取帶有 submodule 的項(xiàng)目
帶有submodule的項(xiàng)目直接用 git clone git@github.com:SkyMissT/Cup.git
拉下的代碼是不包含 submodule 代碼的
git clone git@github.com:SkyMissT/Cup.git --recurse-submodules
這樣會遞歸地將項(xiàng)目中所有子模塊的代碼拉取。另外一種可行的方式是,在當(dāng)前主項(xiàng)目中執(zhí)行:
git submodule init git submodule update
則會根據(jù)主項(xiàng)目的配置信息(.gitmodules),拉取更新子模塊中的代碼。
配置 setting.gradle
include ':Water:app'
配置 build gradle
implementation project(path: ':Water:app')
比如我們主項(xiàng)目與module都做了修改,commit時(shí)候是這樣的
可以選擇只提交一部分,也可以都選擇提交,提交到他們各自的倉庫,再看 push 的樣子
與commit情況類似,可選擇的push到遠(yuǎn)程庫
與一般的代碼提交一樣,操作都一樣。主項(xiàng)目中的submodule模塊push后Water項(xiàng)目該有的全有,Water項(xiàng)目push后主項(xiàng)目也會有
// 修改 .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" // 推到遠(yuǎn)程 git push
submodule 被移除
以上是“Android Git submodule怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。