gitmodules详解(Git子模块配置)

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' 一顿拉代码,这样整个项目就十分完整了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git子模块 项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率。 使用子模块后,不必负...
    海阔天空的博客阅读 12,414评论 0 1
  • Git 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录,它能让你将另一个仓库克隆到自己的项目中,...
    聚散浮生乄阅读 435评论 0 0
  • 我们公司的项目是很多项目组合而成,如果光是使用 git clone xxxxxxx.git 的方式只能拿到一个空的...
    吴敬悦阅读 2,804评论 0 0
  • 经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发...
    HongXunPan阅读 2,449评论 0 2
  • 问题背景 随着公司业务线的增加,不同的业务线不可避免的有些相似,甚至相同的逻辑,比如营销方略下有营销概览,数据中心...
    jad_design阅读 4,978评论 1 2