1.问题的提出
在工作中,你可能会遇到这样的情况,多个客户的项目需求接近,或部分需求接近,最可能的情况,如:用户管理。如果把代码复制到多个项目中,更新维护困难,因为是多个项目,所以又不能放在同一个git仓库中。
或者,在开发微服务或分布式项目的时候,会出现各子项目间很多代码是要同的,但为了解藕,只能把一部分代码,复制到另外的项目中,造成代码冗余,同步更新管理困难。
2. 解决的办法就是
git 的submodule
详细的用法可查看:git子模块
)https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97
3.具体操作
- 1.添加子模块
git submodule add https://xxxx:项目名称 指定子模块目录
git submodule init
-2. 拉取代码
git submodule updat --merge
-3. 添加更改并提交
cd 子模块目录
git config user.name=your_name
git config user.email=your@email.com
git add .
git commit -m '提交子模块修改'
git push
-4. 克隆带有子模块的仓库
克隆完主仓库以后,还要手动克隆子模块
git submodule init
git submodule update
cd /子模块目录
git checkout master (或者是其他的分支,根据实际情况而定)