git submodule
是git系統(tǒng)中非常實用的一個功能术陶,對于可復(fù)用模塊非常有用。
一懈叹、使用命令
1.1 首次拉取帶子倉庫命令
git clone --recurse-submodules 父倉庫地址
分開拉取
git clone // 克隆父倉庫地址蟹倾,無法下載到子模塊信息
git clone --recursiv // 克隆父倉庫地址,并下載到子模塊信息
git submodule init // 初始化子模塊
git submodule update // 更新子模塊與主倉庫中的子模塊代碼同步
// or
git submodule update --init
// or 嵌套的(子倉庫中包含子倉庫)
git submodule update --init --recursive
1.2 更新瘦棋、拉取子倉庫代碼命令
父目錄中:
git submodule update // 與主倉庫中的子模塊代碼同步
git submodule update --remote // 與子倉庫中代碼同步(同步所有的子模塊)
git submodule update --remote xxx // 指定需要同步的子模塊
子模塊目錄下更新:
git pull
默認(rèn)情況下會跟蹤子模塊的 master 分支稀火,設(shè)置為其他分支:
git config -f .gitmodules submodule.[submodule-name].branch [branch-name]
二、git submodule 相關(guān)說明
2.1 git submodule init
修改當(dāng)前項目的.git/config文件
image.png
2.2 git submodule update
拉取子模塊遠(yuǎn)程倉庫的內(nèi)容并更新子模塊的git信息 .git/modules
git submodule update --init --recursive
git submodule update --init --recursive
是一個用于初始化并更新 Git 子模塊的命令赌朋,其中包含了三個參數(shù):
update:
這個參數(shù)告訴 Git 更新子模塊凰狞。 如果不指定此參數(shù),Git 將不會更新子模塊沛慢,而只是確保它們處于正確的提交狀態(tài)赡若。
--init:
這個參數(shù)告訴 Git 初始化尚未初始化的子模塊。如果你的倉庫包含子模塊团甲,并且有些子模塊尚未被初始化(通常是因為它們是在一個最新的版本中添加的)逾冬,那么使用這個參數(shù)將初始化這些子模塊。
--recursive:
這個參數(shù)告訴 Git 遞歸地初始化和更新所有的子模塊躺苦。如果子模塊本身包含了其他子模塊身腻,那么使用這個參數(shù)將確保所有子模塊都被正確初始化和更新。