最近公司准备开发项目的2.0版本,业务划分模块,但又同属于一个项目,所以这次打算重构前端项目架构
项目业务大体分为
- 公共模块(包括项目基础配置) 存放库1
- 业务1模块 存放库2
- 业务2模块 存放库3
- 业务3模块 存放库4
首先先建立4个git仓库,拉取库1
git clone 库1地址
在库1根目录下,添加子模块仓库(其他模块同理)
$ git submodule add 库2地址 src/views/datavEditor
// 执行命令后就会在库1根目录下生成以下路径(所以文件夹不用提前建立)
-库1
--src
---views
----datavEditor
-----子模块1的数据
执行完后那就会发现 库1根目录下生成了一个文件 .gitmodules里面会记录子模块的配置信息
修改子模块以外的文件,只会在库1的git监听到 在库1跟目录下 提交便好
库1跟目录下
git add .
git commit -m '主库数据提交'
git push
修改datavEditor子模块文件后,库1(主库) 的git是只会监听到子库有修改文件的日志(这个东西需要上传到主库,后期才能拉取到最新的子库代码),主要代码还是会提交到库2里,直接到datavEditor对应的目录下提交子库代码就可以了
// datavEditor 文件夹下 (要先交子库文件)
git add .
git commit -m '子库数据更新'
git push
// 库1跟目录下 (再交子库更新日志)
git add .
git commit -m '子库修改日志'
git push
若是有人更新子库了,可以到对应子模块的目录下 git pull 一下
2.添加子模块后期,由于子模块的代码是交到子库的,当另一位同事第一次拉取主库时,会发现子模块文件夹是在的但是没有文件。这时候要在本地库初始化一下子库,并更新下来最新代码
库1(主库)跟目录下 执行一下下面两个命令
git submodule init
git submodule update
这时候你就会看到子模块下有文件啦
当然,如果子库你没有拉取的权限,你更新子库代码是拉取不了的哦 那个子模块就还会是空滴,即使修改东西也提交不了到对应的子库,所以划分子模块也利于权限划分,以及工作业务划分,多人合作开发同个项目,避免核心代码的冲突。
版权声明:本文为weixin_44070450原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。