使用git submodule命令创建子模块

项目开发过程中,如果项目太复杂,我们可以将项目拆分成不同的子模块去管理。

下面作一个简单的演示:

1. 添加子模块


这里有两个项目工程
- 工程1:https://gitee.com/lingpe/china
- 工程2:https://gitee.com/lingpe/beijing

我们将工程2作为工程1的子模块
- 在工程1目录下新建一个module文件夹
- 执行 : git submodule add https://gitee.com/lingpe/beijing

在工程1的module目录下就会拉取到工程2的代码,并且在工程1的根目录下会生成一个.gitmodules文件,记录了子模块的信息

[submodule "module/beijing"]
	path = module/beijing
	url = https://gitee.com/lingpe/beijing
    branch = master

path是记录子模块的路径

url记录子模块的git地址

branch一般是默认为master,如果我们要拉取其他子模块分支,要在这里指定分支名

提交的时候,我们只需要提交工程1中生成的.gitmodules文件

打开git,会看到module目录下会有这样一个子模块,点击可以直接进到子模块工程中

使用git submodule命令创建子模块_第1张图片

2. 拉取子模块

git submodule update --init --remote

        我们先拉取主模块工程1, 然后执行git submodule update --init --remote。会自动拉取到子模块工程2。如果有多个子模块,使用该命令,也可以一起拉取下来。

3. 更新子模块

git submodule update

4. 删除子模块

如果要删除子模块

git rm --cached module/beijing

rm -rf module/beijing

# 如果有多个子模块,删除.gitmodules中对应的子模块信息
git rm .gitmodules

.git/config文件中对应的子模块信息删除

然后提交代码,就看不到子模块信息了

使用git submodule命令创建子模块_第2张图片

 

你可能感兴趣的:(git,git)