git建立關聯的父子倉庫
一、新建兩個git倉庫,
建立一個負責業務的master倉庫,一個業務模組需要依賴的公共common倉庫。
二、正常拉取主倉庫的程式碼到本地
git clone ssh://git地址
三、進入主倉庫,並新增子倉庫
git submodule add ssh://git地址.git lib
//新增成功後主倉庫根目錄增加了.gitmodule檔案
、、、、、、
檢出
3.5:如果是克隆已經存在子倉庫的版本庫使用下面命令:例子 : https://git/boss-base-master.git
git clone https://git/boss-base-master.git sample-ui --recursive
拉取下來後,cnpm install //加依賴
npm run dev //執行
、、、、、、
檢出
四、新增完子倉庫後,需要進一步克隆子倉庫檔案
git submodule init // 初始化本地配置檔案
git submodule update // 檢出主倉庫列出的commit
或者組合命令
git submodule update --init --recursive
五、在子倉庫common中切換到master分支,並且git pull更新程式碼,這之後主倉庫的程式碼也要提交修改的,因為子倉庫變化會導致主倉庫變化
及在子倉庫目錄下進行更新程式碼,git checkout master; git pull
切換到主倉庫根目錄,即先cd 根目錄; git add . ; git commit -m "aa" ; git push origin -u master
六、在主目錄也是可以修改子倉庫的,需要進行提交修改。
七、刪除子倉庫
刪除 .gitsubmodule裡相關部分
刪除 .git/config 檔案裡相關欄位
刪除子倉庫目錄
git rm --cached <本地路徑>
//如果未按照上述步驟刪除,可能殘留在.git/modudles資料夾內
專案例子:基於vue2和elementUI+git實現的前端boss基礎版本,實現一套公共程式碼多套業務程式碼組成多個子專案的想法