「Git」submodule使用入門

開發(fā)過程中經(jīng)常用到的Git操作在這篇博客Git常用命令大集合有介紹,但是沒有涉及到submodule的命令津辩,這也是比較常用的命令,這篇博客就介紹下git submodule的用法.

開發(fā)過程中,經(jīng)常會有一些通用的部分希望抽取出來做成一個公共庫來提供給別的工程來使用蹲姐,而公共代碼庫的版本管理是個麻煩的事情。而且一旦更新了就要同步到多個引用的系統(tǒng)中人柿,這個時候使用git submodule柴墩,然后執(zhí)行: git submodule update就全部搞定了。

下面就以Android開發(fā)為例凫岖,講述下submodule的具體用法江咳。

假設(shè)一個Android Demo的目錄是這樣的:app, extras。其中app是程序的主要目錄哥放,extras目錄是引用的一些library歼指, 比如程序中引用了volley的library.

添加

為當前工程添加submodule,命令如下:

git submodule add 倉庫地址路徑即
git submodule add https://android.googlesource.com/platform/frameworks/volleyextras

命令執(zhí)行完成甥雕,會在當前工程根路徑下生成一個名為".gitmodules"的文件踩身,其中記錄了子模塊的信息。添加完成以后社露,再將子模塊所在的文件夾添加到工程中即可挟阻。

更新

如果過了一段時間volley庫有更新,這時候我們的app也需要更新峭弟,命令如下:

git submodule update

git submodule foreach git pull\

git submodule foreach --recursive git submodule init\

git submodule foreach --recursive git submodule update

==

刪除

1.刪除.gitsubmodule中對應(yīng)submodule的條目

2.刪除.git/config 中對應(yīng)submodule的條目

3.執(zhí)行git rm --cached {submodule_path}附鸽。注意,路徑不要加后面的"/"瞒瘸。例如:你的submodule保存在 supports/libs/websocket/ 目錄坷备。執(zhí)行命令為:**git **rm --cached supports/libs/websocket

4. 刪除對應(yīng)的目錄: rm -rf supports/libs/websocket

更新URL

1.更新 .gitsubmodule中對應(yīng)submodule的條目URL

2.更新.git/config 中對應(yīng)submodule的條目的URL

3.執(zhí)行**git ****submodule **sync

下載的工程帶有submodule

當使用git clone下來的工程中帶有submodule時,初始的時候情臭,submodule的內(nèi)容并不會自動下載下來的省撑,此時,只需執(zhí)行如下命令:

git submodule update --init --recursive

即可將子模塊內(nèi)容下載下來后工程才不會缺少相應(yīng)的文件俯在。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丁侄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子朝巫,更是在濱河造成了極大的恐慌鸿摇,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劈猿,死亡現(xiàn)場離奇詭異拙吉,居然都是意外死亡潮孽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門筷黔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來往史,“玉大人,你說我怎么就攤上這事佛舱∽道” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵请祖,是天一觀的道長订歪。 經(jīng)常有香客問我,道長肆捕,這世上最難降的妖魔是什么刷晋? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮慎陵,結(jié)果婚禮上眼虱,老公的妹妹穿的比我還像新娘。我一直安慰自己席纽,他們只是感情好捏悬,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著润梯,像睡著了一般过牙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仆救,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天抒和,我揣著相機與錄音矫渔,去河邊找鬼彤蔽。 笑死,一個胖子當著我的面吹牛庙洼,可吹牛的內(nèi)容都是我干的顿痪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼油够,長吁一口氣:“原來是場噩夢啊……” “哼蚁袭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起石咬,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤揩悄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鬼悠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體删性,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡亏娜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹬挺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片维贺。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖巴帮,靈堂內(nèi)的尸體忽然破棺而出溯泣,到底是詐尸還是另有隱情,我是刑警寧澤榕茧,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布垃沦,位于F島的核電站,受9級特大地震影響雪猪,放射性物質(zhì)發(fā)生泄漏栏尚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一只恨、第九天 我趴在偏房一處隱蔽的房頂上張望译仗。 院中可真熱鬧,春花似錦官觅、人聲如沸纵菌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咱圆。三九已至,卻和暖如春功氨,著一層夾襖步出監(jiān)牢的瞬間序苏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工捷凄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留忱详,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓跺涤,卻偏偏與公主長得像匈睁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子桶错,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

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

  • Git 的內(nèi)部結(jié)構(gòu) Git 真正是一個面向程序員的工具航唆,它的內(nèi)部數(shù)據(jù)結(jié)構(gòu)是一個有向無環(huán)圖,并且院刁,你必須理解它的內(nèi)部...
    山天大畜閱讀 438評論 0 0
  • 本文作者陳云峰糯钙,轉(zhuǎn)載請注明。 這篇文章記錄個人常用的一些命令,和記不住的一些命令任岸,轉(zhuǎn)載了并不斷更新鸳玩。 Git官網(wǎng) ...
    陳云峰閱讀 2,818評論 0 24
  • 在軟件開發(fā)過程中,通常我們會遇到有一些通用的部分希望抽取出來做成一個公共庫的情況演闭,比如安卓和IOS都通用的H5頁面...
    YasinWei閱讀 21,974評論 0 1
  • 本片內(nèi)容轉(zhuǎn)自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃兒閱讀 4,934評論 2 88
  • 轉(zhuǎn)自作者:扔物線 本文鏈接http://gank.io/post/560e15be2dca930e00da1083
    大校啊閱讀 357評論 0 0