最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Git submodule詳解用法示例

 更新時(shí)間:2021年11月01日 14:46:53   作者:臨木小屋  
項(xiàng)目中經(jīng)常會(huì)使用到第三方的 git 庫, 將三方庫整合到項(xiàng)目中最簡單的辦法就是復(fù)制粘貼, 但是如果這個(gè)庫升級(jí)了一個(gè)很酷炫的功能, 你要怎么整合進(jìn)來呢?(其實(shí)就是 git 版的包管理器)這就是本次要介紹的 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)目倉庫中會(huì)多出兩個(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)擊會(huì)跳到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

這樣會(huì)遞歸地將項(xiàng)目中所有子模塊的代碼拉取。另外一種可行的方式是,在當(dāng)前主項(xiàng)目中執(zhí)行:

git submodule init
git submodule update

則會(huì)根據(jù)主項(xiàng)目的配置信息(.gitmodules),拉取更新子模塊中的代碼。

本地配置

配置 setting.gradle

include ':Water:app'

配置 build gradle

implementation project(path: ':Water:app')

代碼提交

主項(xiàng)目上的代碼提交

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

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

在這里插入圖片描述

刪除 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"
//  推到遠(yuǎn)程
git push

在這里插入圖片描述

submodule 被移除

到此這篇關(guān)于Android Git submodule詳解用法示例的文章就介紹到這了,更多相關(guān)Android Git submodule內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

铜川市| 噶尔县| 汉中市| 怀安县| 太仆寺旗| 渭南市| 泰来县| 巩义市| 玉山县| 芦溪县| 英德市| 六枝特区| 韶山市| 东海县| 当雄县| 建平县| 弥勒县| 夏津县| 山丹县| 嵊泗县| 荣成市| 西华县| 铁力市| 渭南市| 温州市| 宁明县| 凌海市| 禄丰县| 宝清县| 前郭尔| 洞头县| 兰西县| 屯昌县| 德阳市| 汝南县| 灌南县| 溧水县| 仲巴县| 西城区| 泾阳县| 峨边|