通过git子模块实现一个项目中包括多个git仓库,部分代码在多个项目间共享

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 (或者是其他的分支,根据实际情况而定)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。