Git submodule 命令简介

摘要:

  • git submodule就是git主仓库在本仓库的配置中记录着子模块仓库对应的名字,路径,远端url,然后创建一个特殊文件去记录子模块仓库目前的commit-id,每次更新子模块就是通过远端路径和commit-id来进行更新

Git 子模块的原理

.git/config.gitmodules中记录的子模块仓库的远端地址和路径,然后使用一个特殊的模式为160000的文件来记录子模块仓库当前的commit id

Git 子模块的添加

git submodule add origin:/submd/repos/lib2.git libs/lib2 # 添加远端origin上的仓库lib2到当前仓库的libs/lib2位置

Git 子模块的初始化及更新

git submodule init会初始化当前仓库中存在的子模块(根据.gitmodules文件去查找子模块)。

git submodule update就是更新当前仓库存在子模块,拉取最新代码。

git submodule update是根据父仓库中记录的子模块仓库的commit-id去更新子模块仓库,如果子模块仓库commit了但是父仓库并没有add,那么git submodule update会还原子模块仓库的提交。

git submodule foreach <command> 进入到每个子模块,然后执行<command>命令

Git 子模块的移除

执行以下命令删除 Git 子模块,相关内容请参考Stack Overflow

git rm the_submodule
rm -rf .git/modules/the_submodule

参考文章

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值