Git submodule 搭建

準(zhǔn)備工作

  • 先創(chuàng)建一個文件夾gitShare,當(dāng)然你也可以用公司的服務(wù)器,或者oschina,github . 我這里圖方便 使用本地文件夾的方式來管理git庫。
  • 初始化兩個以上的庫(例如 libA libB .... ) , 這個libAt將作為主工程
  • 在創(chuàng)建一個gitManager(模擬使用者),創(chuàng)建 pm文件夾(模擬管理者)

以上工作可以參考下邊的命令:

cd /Users/zhangkun/Desktop
mkdir gitShare
cd gitShare
mkdir libA
mkdir libB
cd libA
git init --bare
cd ../
cd libB
git init --bare

cd /Users/zhangkun/Desktop 
mkdir gitManager
cd gitManager
mkdir pm
cd pm

要開始了

-1 先將庫中的代碼clone下來

git clone /Users/zhangkun/Desktop/gitShare/libA
#發(fā)現(xiàn)libA文件夾中有了.git 文件夾 說明已經(jīng)clone成功,然后在該目錄下創(chuàng)一個工程,還有 記得要添加ignore文件

不知道的同學(xué), 點(diǎn)這里,copy oc的忽略文件就可以了。

# 粘貼
vim .gitignore
git status 
git commit -m "添加ignore文件,初始化工程"
git push

用上邊的步驟把之前gitShare中創(chuàng)建的那幾個庫 都初始化一下。

初始化工作做完了,下面重點(diǎn)來了,初始化

#現(xiàn)在切換到libA的跟目錄
cd /Users/zhangkun/Desktop /gitManager/pm
#使用下面的命令
#git submodule add 子模塊的地址 要添加的地址
git submodule add  /Users/zhangkun/Desktop /gitShare/libB lib/libB
#這條命令執(zhí)行完成之后, 使用 ls -af,查看當(dāng)前subfile,會發(fā)現(xiàn)多了一個.gitmodules的東西。
#使用 cat 查看一下
cat .gitmodules
#其實(shí)這時候,已經(jīng)將libB作為子模塊添加進(jìn)來了。

提交

先push子模塊,然后在push主項(xiàng)目

cd lib/libB
git status
git commit 
git push
cd ../../
git status
git commit 
git push

更新 維護(hù)

現(xiàn)在,創(chuàng)建一個張三的文件夾 ,測試一下我們剛才,搭建好的子模塊

 cd /Users/zhangkun/Desktop /gitManager
mkdir em
cd em
mkdir zhangsan
cd shangsan
git clone /Users/zhangkun/Desktop/gitShare/libA
#此時你會發(fā)現(xiàn) ,之前關(guān)聯(lián)號的子模塊 并沒有下載下來,使用
git submodule init
git submodule update
# ok 剛才配置號的庫已經(jīng)下載下來了。


 cd /Users/zhangkun/Desktop /gitManager/pm
mkdir 李四
cd 李四
git clone /Users/zhangkun/Desktop/gitShare/libA
git submodule init
git submodule update
cd lib/libA
vim view.m
git checkout master
git add .
git commit 
git push

cd ..
cd ..
# 查看一下子模塊的狀態(tài)
git submodule status
#更新主工程到遠(yuǎn)端
git add .
git commit 
git push
# 此時張三還有原來的代碼
cd 張三的目錄
執(zhí)行
git pull
git submodule init
git submodule update
# 完成更新

完成

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,447評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,969評論 6 342
  • 說實(shí)話,作為一名高中狗還在寫些裝billity地寫這些東西不去學(xué)習(xí),真的很是不該??偨Y(jié)一下自己的這個高考假(就是...
    Heycheng閱讀 269評論 0 1
  • 午間下了一場雨。 熟悉的沙沙聲敲打著生銹的防盜窗,一層樓房的屋檐向下,滴滴答答濺起水花。 我進(jìn)入長長的夢境,在午休...
    毛毛錦閱讀 569評論 8 4