git submodule

其實用git的時間仍是挺久的,但居然不曉得git的子模塊,瞬間有種」問今乃何世,不僅有漢,不管魏晉「的趕腳,羞的老臉發紅。git

應用場景

  • 剝離代碼公共部分。

工做中,每一個人或公司在長時間的coding中都造成經常使用的代碼工具庫,將這些公共部分剝離出來,作單點維護。工具

  • 間接的實現目錄權限的管理。

git沒有更細的權限管理功能,若是但願對某些文件夾實現權限管理,從而在團隊合做中,只須要關注或維護本身關注的文件夾就ok了。code

如何使用

子模塊使用起來比較簡單,他便可以看作一個子模塊,也能夠看作一個完整的git工程,原來的git命令在子模塊下照常使用。遞歸

添加子模塊it

進入到主目錄執行module

git submodule add 地址

查看執行後的狀態,會發現主目錄下多了一個.gitmodules文件和一個git工程date

git status

提交子模塊(和普通提交修改同樣)foreach

git commit -m xxx

一般做爲公共部分最重要的是獲取更新,有兩種方式coding

  • 首先在主目錄下直接獲取全部子模塊
git submodule foreach git pull

-在主目錄下更新子模塊權限

git pull
git submodule update
  • 在子模塊下獲取更新(就是一個普通的git工程)
git pull

首次clone帶有子模塊的工程,也有兩種方式

  • 使用--recursive遞歸參數,一哈子都clone下來了
git clone 地址 --recursive
  • 分部獲取,現獲取主目錄,在初始化子模塊(推薦,條理清楚)
git clone 地址
git submodule init
git submodule update

刪除子模塊(把模塊的兩個文件刪了就得了)

相關文章
相關標籤/搜索