溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android Git submodule怎么用

發(fā)布時(shí)間:2022-03-04 14:16:44 來源:億速云 閱讀:685 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下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ú)立的版本控制。

創(chuàng)建 submodule

使用 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

Android Git submodule怎么用

.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添加成功

Android 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)目上的代碼提交

比如我們主項(xiàng)目與module都做了修改,commit時(shí)候是這樣的

Android Git submodule怎么用

可以選擇只提交一部分,也可以都選擇提交,提交到他們各自的倉庫,再看 push 的樣子

Android Git submodule怎么用

與commit情況類似,可選擇的push到遠(yuǎn)程庫

submodule獨(dú)立項(xiàng)目上的代碼提交

與一般的代碼提交一樣,操作都一樣。主項(xiàng)目中的submodule模塊push后Water項(xiàng)目該有的全有,Water項(xiàng)目push后主項(xiàng)目也會有

Android Git submodule怎么用

刪除 submodule

//  修改 .git/config ,刪除 Water 文件下所有的代碼
git submodule deinit Water

執(zhí)行git submodule deinit Water之前

Android Git submodule怎么用

執(zhí)行git submodule deinit Water之后,submodule“Water”被移除

Android Git submodule怎么用

//  .gitmodule 文件內(nèi)容清空,刪除 Water 文件夾
git rm Water
//  提交代碼
git commit -m "rm Water"
//  推到遠(yuǎn)程
git push

Android Git submodule怎么用

submodule 被移除

以上是“Android Git submodule怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI