1. 程式人生 > >git建立關聯的父子倉庫

git建立關聯的父子倉庫

一、新建兩個git倉庫,

建立一個負責業務的master倉庫,一個業務模組需要依賴的公共common倉庫。

二、正常拉取主倉庫的程式碼到本地

git clone ssh://git地址 

三、進入主倉庫,並新增子倉庫

git submodule add ssh://git地址.git    lib

//新增成功後主倉庫根目錄增加了.gitmodule檔案

、、、、、、

檢出

3.5:如果是克隆已經存在子倉庫的版本庫使用下面命令:例子 : https://git/boss-base-master.git

  倉庫地址, sample-ui 本地專案名;具體命令如下

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基礎版本,實現一套公共程式碼多套業務程式碼組成多個子專案的想法

其地址:https://github.com/Mrliu1/boss-base-master