Git子模块(Submodule)是Git的一个功能,允许一个仓库嵌入到另一个Git仓库中
目录
一、使用场景
-
当你有一个复用代码库,并希望在多个项目中使用它时。如组件库
-
当你需要维护一些依赖库,并希望这些依赖库能够独立于主项目更新时。
-
当你需要引用其他项目,并且希望在更新主项目时,子模块的代码也能够保持最新。
二、常用指令
-
添加子模块:
git submodule add <repository> [<path>]
这里
<repository>
是子模块仓库的URL,[<path>]
是可选的,指定子模块在主项目中的位置。 -
克隆包含子模块的仓库:
git clone --recurse-submodules <repository> 若已经克隆了主仓库,则运行: git submodule update --init --recursive -
更新子模块:
git submodule update --remote -
删除子模块:
git submodule deinit <path>
rm -rf .git/modules/<path>
git rm --cached <path> 在这里<path>
是子模块在主项目中的路径三、注意项
在主项目中修改子模块代码需要提交时,需要进入子模块路径下,先执行更新命令再执行提交命令