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