Git 經過submodule添加子項目/庫。

Git歸併有兩種策略:遞歸,章魚。html

1.遞歸策略:當分支數只有兩個的時候。git

2.章魚策略:當分支數大於兩個的時候。shell

Git會自動選擇歸併的方法。工具

3.子樹策略:是Git另外一種歸併方法。(submodule)url

    它能夠把另外一個子項目,嵌入到當前項目。並且會很是聰明的合併這些子項目。(之後就不會有困惑了,在引用其餘項目時。)spa

   

Git使用submodule命令:code

#添加子模塊:
git submodule add ~/git/libs/lib1.git libs/lib1
#git會在項目下生成.gitmodule
cat .gitmodule
[submodule "libs/lib1"]
        path = libs/lib1
        url = ~/git/libs/lib1.git
#進入libs/lib1目錄
cd libs/lib1
#操做新的庫lib1,看得出是lib1本身的庫remote信息。
git remote -v
#進入項目根目錄,初始化submodule,更新submodule(必須在根目錄執行命令)
cd ../../
git submodule init
git submodule update

在 libs/lib1/ 目錄下添加文檔,發現新增長的子模塊lib1,在git狀態列表中,多了個(untracked content),並不會把lib1庫下的全部改動,在git status體現出來。(方便了項目管理子模塊)htm

像操做git同樣在子模塊管理git工做區。教程

 注: 遞歸

        若是在添加子模塊後,不回到最上層主分支.忘記了調用命令:git submodule update,那麼你極有可能再次把舊的submodule依賴信息提交上去,當調用命令:git commit -a


參考:

        Git 工具 - 子樹合併

        Git Submodule使用完整教程

相關文章
相關標籤/搜索