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

Android Git submodule詳解用法示例

 更新時(shí)間:2021年11月01日 14:46:53   作者:臨木小屋  
項(xiàng)目中經(jīng)常會(huì)使用到第三方的 git 庫(kù), 將三方庫(kù)整合到項(xiàng)目中最簡(jiǎn)單的辦法就是復(fù)制粘貼, 但是如果這個(gè)庫(kù)升級(jí)了一個(gè)很酷炫的功能, 你要怎么整合進(jìn)來(lái)呢?(其實(shí)就是 git 版的包管理器)這就是本次要介紹的 git-submodule 操作, 直接把第三方的版本庫(kù)合并到自己的庫(kù)中

引入

假定我們有兩個(gè)項(xiàng)目:Cup 和 Water,其中 Cup 表示主項(xiàng)目,而 Water 表示子模塊項(xiàng)目。

其中 Cup 的遠(yuǎn)程倉(cāng)庫(kù)地址為 git@github.com:SkyMissT/Cup.git
而 Water 的遠(yuǎn)程倉(cāng)庫(kù)地址為 git@github.com:SkyMissT/Water.git

接下來(lái),我們希望在 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)目倉(cāng)庫(kù)中會(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庫(kù),這里的Water文件夾,點(diǎn)擊會(huì)跳到Water的git庫(kù),至此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í)候是這樣的

在這里插入圖片描述

可以選擇只提交一部分,也可以都選擇提交,提交到他們各自的倉(cāng)庫(kù),再看 push 的樣子

在這里插入圖片描述

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

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)論

漳州市| 无棣县| 静海县| 文成县| 商水县| 安溪县| 清水河县| 广饶县| 增城市| 岳西县| 茌平县| 建宁县| 新化县| 香河县| 周至县| 云浮市| 瓦房店市| 庆城县| 朝阳市| 高尔夫| 德格县| 涞源县| 沙洋县| 库车县| 潜江市| 海原县| 青岛市| 波密县| 宿迁市| 习水县| 三江| 铜鼓县| 汉阴县| 土默特右旗| 泸水县| 玉林市| 郁南县| 登封市| 宜川县| 平泉县| 乌兰县|