赞
踩
Git 工具的 submodule 功能就是建立了当前项目与子模块之间的依赖关系:子模块路径、子模块的远程仓库、子模块的版本号。
git submodule add <submodule_url> 目录名称
用于在项目中添加一个子模块,在此过程中,会自动将相关代码克隆到对应路径,但对于后续使用者而言,对于主项目使用普通的 clone
操作并不会拉取到子模块中的实际代码。
如果希望子模块代码也获取到,有如下两种方式:
在克隆主项目的时候带上参数 --recurse-submodules
,这样会递归地将项目中所有子模块的代码拉取。
git clone <main_url> --recurse-submodules
在主项目中执行如下命令,则会根据主项目的配置信息,拉取更新子模块中的代码。
git submodule init [子模块]
git submodule update [子模块]
如果没有指定子模块,则是指全部的子模块
上述步骤在创建子模块的过程中,会自动将相关代码克隆到对应路径,但对于后续使用者而言,对于主项目使用普通的 clone 操作并不会拉取到子模块中的实际代码。submodule对应的文件夹是空的
git add/commit
将其添加到主项目的代码提交中,实际的改动就是那个子模块 文件 所表示的版本信息根据官方文档的说明,应该使用 git submodule deinit
命令卸载一个子模块,自动在 .git/config
中删除了相关配置。这个命令如果添加上参数 --force
,则子模块工作区内即使有本地的修改,也会被移除。
git rm <submodule>
自动在 .gitmodules 中删除对应的配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。