怎么把 git clone 分支中有嵌套关系的 submodule 一次全部更新

例如:A项目需要引用B项目

在A项目根目录下执行以下命令,把B项目引用到A项目下的b目录中(好像只能获取B项目的整个分支不知道是否能获取其中一个目录。)

如果需要更新所有引用的子项目可以在根目录中执行以下命令:

}

开发过程中经常会有一些通用嘚部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情今天无意中发现了的git clone 分支submodule命令,之前的问题迎刃而解了

为当前工程添加submodule,命令如下:

其中仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径 
注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone)

命令执行完成,会在当前工程根路径下生成一個名为“.gitmodules”的文件其中记录了子模块的信息。添加完成以后再将子模块所在的文件夹添加到工程中即可。

submodule的删除稍微麻烦点:首先偠在“.gitmodules”文件中删除相应配置信息。然后执行“git clone 分支rm –cached ”命令将子模块所在的文件从git中删除。

当使用git clone 分支clone下来的工程中带有submodule时初始的時候,submodule的内容并不会自动下载下来的此时,只需执行如下命令:

即可将子模块内容下载下来后工程才不会缺少相应的文件

}

父项目不会记录子项目文件变动 呮记录子项目当前commit id

# 初始化并克隆嵌套子模块 # 删除子模块目录后自动删除'.gitmodules'中相关部分
}

我要回帖

更多关于 git工作流 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信