Git-子模块

背景:

有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。这时候就用到了git的子模块git submodule命令。

常用的git submodule命令:

添加

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

git submodule add 仓库地址 路径

仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径

例子:git submodule add git的ssh链接地址 src/app/routes/wallet

删除

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

删除文件目录 git rm -r --cached src/app/routes/wallet

下载的工程带有submodule

当使用git clone下来的工程中带有submodule或者.gitmodules文件时,初始的时候,submodule的内容并不会自动下载下来的,此时三种方式实现:

方式1:
git submodule init 用来初始化本地配置文件,
而 git submodule update 则从该项目中抓取所有数据并检出父项目中列出的合适的提交。

方式2:
给 git clone 命令传递 --recurse-submodules 选项,它就会自动初始化并更新仓库中的每一个子模块,
 包括可能存在的嵌套子模块。
$ git clone --recurse-submodules https://github.com/chaconinc/MainProject

 如果你已经克隆了项目但忘记了 --recurse-submodules,那么可以运行 git submodule update --initgit submodule initgit submodule update 合并成一步。如果还要初始化、抓取并检出任何嵌套的子模块, 请使用简明的 git submodule update --init --recursive

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值