Git Submodule 管理專案子模組

2021-08-29 09:39:43 字數 1122 閱讀 7815

1、新增乙個子模組

git submodule add 子模組位址 自定義到當前工程的路徑

git commit

git push

2、轉殖/更新帶子模組的工程

2.1、方法一:

git clone 工程位址,  進入工程後

git submodule init  (init 操作只需要在剛clone下來時執行一下就行了,以後就不需要執行了)

git submodule update

2.2、方法二:

git clone 工程位址 --recursive

2.3、注意:上述兩種方法只能更新父工程的提交時的狀態,如果把所有子模組都更新到最新的狀態需要再執行下述命令

git submodule update --remote --merge

(或者在專案中,進入到子模組目錄下,執行git pull更新,檢視git log檢視相應提交。完成後返回到專案目錄,可以看到子模組有待提交的更新,使用git add,提交即可。)

2.4、問題來了,那麼經過2.3後,還想儲存此時的狀態怎麼辦

git status 後會發現對應改動的子模組,之後

git add 最新的子模組即可

git commit

git pull

2.5、更新包含子模組的工程

git pull

git submodule update

3、批量操作

git submodule foreach  + git命令即可

例如 批量切換所有子模組到 master , git submodule foreach git checkout master

4、其他:刪除子模組

rm -rf 子模組目錄 刪除子模組目錄及原始碼

vi .gitmodules 刪除專案目錄下.gitmodules檔案中子模組相關條目

vi .git/config 刪除配置項中子模組相關條目

rm .git/module/* 刪除模組下的子模組目錄,每個子模組對應乙個目錄,注意只刪除對應的子模組目錄即可

git rm --cached 子模組名稱 (如果再新增子模組報錯的話可以執行該命令)

Git Submodule管理專案子模組

當專案越來越龐大之後,不可避免的要拆分成多個子模組,我們希望各個子模組有獨立的版本管理,並且由專門的人去維護,這時候我們就要用到git的submodule功能。git clone recursive 遞迴的方式轉殖整個專案 git submodule add 新增子模組 git submodule ...

Git Submodule管理專案子模組

使用場景 當專案越來越龐大之後,不可避免的要拆分成多個子模組,我們希望各個子模組有獨立的版本管理,並且由專門的人去維護,這時候我們就要用到git的submodule功能。常用命令git clone recursive 遞迴的方式轉殖整個專案 git submodule add 新增子模組 git s...

git submodule來管理獨立git子目錄

在軟體開發過程中,通常我們會遇到有一些通用的部分希望抽取出來做成乙個公共庫的情況,比如安卓和ios都通用的h5頁面。而公共 庫的版本管理是個麻煩的事情。幸運的是,萬能的git有個叫子模組 git submodule 的命令完美地幫我們解決了這個問題。為當前工程新增submodule,命令如下 git...