赞
踩
抽取项目公共模块,多项目共用,必然会使用到git submodule命令。
项目中submodule的管理,无外乎添加,更新,删除等操作。
进入到git项目根目录下,输入命令:
git submodule add [-b master ] [URL to Git repo] [local path]
其中,[-b master] 为submodule的默认分支,[local path]为submodule的本地路径。
若出现如下提示,则表示submodule添加成功。
命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息,如下:
[submodule "libraries/pushserver"]
path = libraries/pushserver //本地路径
url = git@*****/android-library-push.git //仓库地址
branch = master //默认分支
若项目中包含.gitmodules, 进入到git项目根目录下,输入命令, .gitmodules中的所有项目都会进行更新:
git clone 父项目.git
git submodule init
git submodule update (update时,submodule分支必须已在正确分支上)
submodule远程分支发生变更后,直接使用git submodule update是不会进行更新操作的。必须依次进入到各个submodule的目录,进行git pull操作,如果submodule数目很多,每次发版本时必须进入所有目录进行git pull,这将是噩梦。不过有个更简单的方法,
git submodule foreach git checkout master
git submodule foreach git pull
删除submodule会麻烦些,仅仅删除submodule模块内容,是无法彻底从git中删除掉。还需要到git相关配置文件中删除条目。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。