經常有這樣的事情,當你在一個項目上工作時,你需要在其中使用另外一個項目。也許它是一個第三方開發的庫或者是你獨立開發和並在多個父項目中使用的。這個場景下一個常見的問題產生了:你想將兩個項目單獨處理但是又需要在其中一個中使用另外一個。
子模塊允許你將一個 Git 倉庫當作另外一個Git倉庫的子目錄。這允許你克隆另外一個倉庫到你的項目中並且保持你的提交相對獨立。
首先你要把外部的倉庫克隆到你的子目錄中。
假設你想把 pacman項目加入到你的blog項目中,你通過git submodule add
將外部項目加為子模塊:
現在你就在項目裡的themes/pacman子目錄下有了一個 pacan項目。你可以進入那個子目錄,進行變更,加入你自己的遠程可寫倉庫來推送你的變更,從原始倉庫拉取和歸並等等。
.gitmodules文件: 這是一個配置文件,保存了項目 URL 和你拉取到的本地子目錄。
克隆你剛才創建子模塊的項目。你將得到了包含子項目的目錄,但裡面沒有文件:pacman目錄存在了,但是是空的。
你必須運行兩個命令:git submodule init
來初始化你的本地配置文件,git submodule update
來從那個項目拉取所有數據並檢出你上層項目裡所列的合適的提交。
現在你的pacman子目錄就處於你先前提交的確切狀態了。
Fedora通過Http Proxy下載Git http://www.linuxidc.com/Linux/2009-12/23170.htm
在Ubuntu Server上安裝Git http://www.linuxidc.com/Linux/2009-06/20421.htm
服務器端Git倉庫的創建(Ubuntu) http://www.linuxidc.com/Linux/2011-02/32542.htm
Linux下Git簡單使用教程(以Android為例) http://www.linuxidc.com/Linux/2010-11/29883.htm
Git權威指南 PDF高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm
Git 2分鐘指南 http://www.linuxidc.com/Linux/2014-11/109201.htm
Git 的詳細介紹:請點這裡
Git 的下載地址:請點這裡