其实用git的时间仍是挺久的,但居然不晓得git的子模块,瞬间有种”问今乃何世,不仅有汉,不管魏晋“的赶脚,羞的老脸发红。git
工做中,每一个人或公司在长时间的coding中都造成经常使用的代码工具库,将这些公共部分剥离出来,作单点维护。工具
git没有更细的权限管理功能,若是但愿对某些文件夹实现权限管理,从而在团队合做中,只须要关注或维护本身关注的文件夹就ok了。code
子模块使用起来比较简单,他便可以看作一个子模块,也能够看作一个完整的git工程,原来的git命令在子模块下照常使用。递归
添加子模块it
进入到主目录执行module
git submodule add 地址
查看执行后的状态,会发现主目录下多了一个.gitmodules文件和一个git工程date
git status
提交子模块(和普通提交修改同样)foreach
git commit -m xxx
一般做为公共部分最重要的是获取更新,有两种方式coding
git submodule foreach git pull
-在主目录下更新子模块权限
git pull git submodule update
git pull
首次clone带有子模块的工程,也有两种方式
git clone 地址 --recursive
git clone 地址 git submodule init git submodule update
删除子模块(把模块的两个文件删了就得了)