開發(fā)過程中卸察,經(jīng)常會有一些通用的部分希望抽取出來做成一個公共庫來提供給別的工程來使用,而公共代碼庫的版本管理是個麻煩的事情动知。今天無意中發(fā)現(xiàn)了git的git submodule
命令善茎,之前的問題迎刃而解了。
添加
為當(dāng)前工程添加submodule奈籽,命令如下:
git submodule add 倉庫地址 路徑
其中,倉庫地址是指子模塊倉庫地址鸵赫,路徑指將子模塊放置在當(dāng)前工程下的路徑衣屏。 注意:路徑不能以 / 結(jié)尾(會造成修改不生效)、不能是現(xiàn)有工程已有的目錄(不能順利 Clone)
命令執(zhí)行完成辩棒,會在當(dāng)前工程根路徑下生成一個名為.gitmodules
的文件狼忱,其中記錄了子模塊的信息。添加完成以后一睁,再將子模塊所在的文件夾添加到工程中即可钻弄。
[submodule "libraries/Jumble"]
path = libraries/Jumble
url = https://www.github.com/Morlunk/Jumble.git
[submodule "libraries/Leeroy-Gradle"]
path = libraries/Leeroy-Gradle
url = https://github.com/Morlunk/Leeroy-Gradle.git
刪除
submodule的刪除稍微麻煩點:首先,要在.gitmodules
文件中刪除相應(yīng)配置信息者吁。然后窘俺,執(zhí)行git rm –cached
命令將子模塊所在的文件從git中刪除。
下載的工程帶有submodule
當(dāng)使用git clone下來的工程中帶有submodule時复凳,初始的時候瘤泪,submodule的內(nèi)容并不會自動下載下來的,此時育八,只需執(zhí)行如下命令:
git submodule update --init --recursive
即可將子模塊內(nèi)容下載下來后工程才不會缺少相應(yīng)的文件均芽。