進入到git項目根目錄下,輸入命令:android
git submodule add [-b master ] [URL to Git repo] [local path]git
其中,[-b master] 爲submodule的默認分支,[local path]爲submodule的本地路徑。url
命令執行完成,會在當前工程根路徑下生成一個名爲「.gitmodules」的文件,其中記錄了子模塊的信息,spa
[submodule "libraries/pushserver"] path = libraries/pushserver //本地路徑 url = git@*****/android-library-push.git //倉庫地址 branch = master //默認分支
若項目中包含.gitmodules, 進入到git項目根目錄下,輸入命令, .gitmodules中的全部項目都會進行更新:code
git clone 父項目.git
git submodule init
git submodule update (update時,submodule分支必須已在正確分支上)server
submodule遠程分支發生變動後,直接使用git submodule update是不會進行更新操做的。必須依次進入到各個submodule的目錄,進行git pull操做,若是submodule數目不少,每次發版本時必須進入全部目錄進行git pull,這將是噩夢。不過有個更簡單的方法,同步
git submodule foreach git checkout master
git submodule foreach git pullit
刪除submodule會麻煩些,僅僅刪除submodule模塊內容,是沒法完全從git中刪除掉。還須要到git相關配置文件中刪除條目。ast
cd submodule_directory git checkout v1.0 cd .. git add submodule_directory git commit -m "moved submodule to v1.0" git push
其餘人員只要執行以下命令,就同步去過module
git pull git submodule update