简介
某个git项目需要使用第三方库git项目,你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。Git 通过子模块来解决这个问题,子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。
添加子模块
格式:git submodule add [subrepo] [path]
举例:git submodule add https://github.com/google/uuid.git ./library/uuid
subrepo: 要引用的第三方库git路径
path: 第三方库代码放在本地的路径,也是添加后模块名称
添加完成后,项目下新增了一个“./library/uuid”文件夹,并且会出现一个“.gitmodules”的文件,里面记录了子模块相关信息,如下
[submodule "library/uuid"]
path = library/uuid
url = https://github.com/google/uuid.git
设置子模块分支
格式:git config -f .gitmodules submodule.[mod_name].branch [branch_name]
举例:git config -f .gitmodules submodule.library/uuid.branch v1