gitmodules是什么?
作为一个架构师或者想要往架构师学习的人,git操控必不可少。他允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 将另一个仓库克隆到自己的项目中,同时还保持提交的独立。
那么如何使用gitmodules呢?
1:创建项目
假定我们有两个已经建好的git仓库项目:father 和 sun
git submodule add <submodule_url>
git submodule add <submodule_url> <新的名字>
此时项目仓库中会多出两个文件:.gitmodules 和 sun 文件夹
当前状态可以commit ,提交之后submodule 被push 到远端,但是sun文件夹只有一个空文件夹。
2:其他人员拉取项目
git submodule init
git submodule update
这样拉下来的代码就可以拥有统一的状态,包括主分支代码和子模块代码
3.子模块内容的更新
对于主项目而言,子模块的内容发生变动时,是不应该进行git操作的,因为子模块并不在自己的管辖范围中。
这时候要cd到子模块文件夹中进行操作。
git submodule foreach 'git pull origin master'
//或者
cd sun
git pull origin master
4.删除子模块
git submodule deinit sun
git rm sun
5.应用思路
具体操作就到此为止了。
而我们可以很容易就想到一个场景:架构师管理自己的father模块,其余的子模块push代码上来。
然后主项目架构师拉取子项目,可以自己add + commit +push 上去需要加入版本控制的子模块所表示的版本信息,通知其余开发使用git submodule foreach 'git pull origin master' 一顿拉代码,这样整个项目就十分完整了