git submodule 使用命令簡介

2021-08-28 19:46:19 字數 1428 閱讀 4597

抽取專案公共模組,多專案共用,必然會使用到git submodule命令。 

專案中submodule的管理,無外乎新增,更新,刪除等操作。

進入到git專案根目錄下,輸入命令:

git submodule add [-b master ] [url to git repo] [local path]

其中,[-b master] 為submodule的預設分支,[local path]為submodule的本地路徑。

若出現如下提示,則表示submodule新增成功。

命令執行完成,會在當前工程根路徑下生成乙個名為「.gitmodules」的檔案,其中記錄了子模組的資訊,如下:

[submodule "libraries/pushserver"]

path = libraries/pushserver //本地路徑

url = git@*****/android-library-push.git //倉庫位址

branch = master //預設分支

若專案中包含.gitmodules, 進入到git專案根目錄下,輸入命令, .gitmodules中的所有專案都會進行更新:

git clone 父專案.git 

git submodule init 

git submodule update (update時,submodule分支必須已在正確分支上)

submodule遠端分支發生變更後,直接使用git submodule update是不會進行更新操作的。必須依次進入到各個submodule的目錄,進行git pull操作,如果submodule數目很多,每次發版本時必須進入所有目錄進行git pull,這將是噩夢。不過有個更簡單的方法,

git submodule foreach git checkout master 

git submodule foreach git pull

刪除submodule會麻煩些,僅僅刪除submodule模組內容,是無法徹底從git中刪除掉。還需要到git相關配置檔案中刪除條目。

刪除 [專案根目錄/.gitmodules] 中對應的條目

刪除 [專案根目錄/.git/config] 中對應的條目

刪除 [專案根目錄/.git/modules] 目錄下的對應的submodule資料夾

執行 git rm –cached [modulename] 命令

刪除 submodule 模組內容

參考:

git submodule使用記錄

首先建立乙個子模組倉庫 當做公共元件模組son 然後在現有的專案 p1,p2 中使用 git submodule add git位址當更新p1中son的東西時候,需要在p1中son目錄裡提交,p1直接提交會報 所以需要單獨進入專案中提交子模組 1.採用遞迴方式一次性轉殖所有 git clone 位址...

git submodule 子模組使用

當我們的git專案需要引入第三方專案 另外乙個git專案 時,可以用submodule。git submodule add third party hiredis third party hiredis 是自定義路徑 hiredis必須不存在。新增成功之後可以看到 third party hired...

git submodule的簡單使用

專案中經常會使用到第三方的 git 庫,直接把第三方的版本庫合併到自己的庫中。目前做node.js koa2 時需要使用工程整合的mongodb models檔案,所以需要將koa2工程引用外部工程模組。1.1 js倉庫 test git 1.2 models倉庫 model 建立完兩個倉庫。獲取 ...