在开发过程中,通常会有一些共同的部分希望被提取成一个公共数据库供其他项目使用,而公共代码数据库的版本管理是一件麻烦的事情。今天,我无意中发现了git的git submodule命令解决了以前的问题。
添加将submodule添加到当前项目中,命令如下:
git submodule add 仓库地址 路径
其中,仓库地址是指子模块仓库地址,路径是指将子模块放置在当前项目下的路径。注:路径不能使用 / 结尾(会导致修改无效)、不能是现有项目的现有目录(不能顺利进行) Clone)
命令执行完成后,将在当前项目根路径下生成一个名称“.gitmodules该文件记录了子模块的信息。添加后,将子模块所在的文件夹添加到项目中。
删除删除submodule有点麻烦:首先,在“.gitmodules在文件中删除相应的配置信息。然后执行“git rm –cached 从git中删除子模块所在的文件。
Submodule下载的工程使用git时 当clone下来的项目中有submodule时,submodule的内容不会在初始时自动下载。此时,只需执行以下命令:
git submodule update --init --recursive
下载子模块内容后,项目不会缺少相应的文件。