git submodule 使用命令简介

本文详细介绍如何使用Git submodule进行代码管理,包括添加、更新、删除submodule及切换到指定tag的操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. submodule 添加

进入到git项目根目录下,输入命令:

git submodule add [-b master ] [URL to Git repo] [local path]

其中,[-b master] 为submodule的默认分支,[local path]为submodule的本地路径。

命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息,

[submodule "libraries/pushserver"]
 path = libraries/pushserver                //本地路径
 url = git@*****/android-library-push.git   //仓库地址
 branch = master                            //默认分支

2. submodule 更新

若项目中包含.gitmodules, 进入到git项目根目录下,输入命令, .gitmodules中的所有项目都会进行更新:

git clone 父项目.git 
git submodule init 
git submodule update (update时,submodule分支必须已在正确分支上)

submodule远程分支发生变更后,直接使用git submodule update是不会进行更新操作的。必须依次进入到各个submodule的目录,进行git pull操作,如果submodule数目很多,每次发版本时必须进入所有目录进行git pull,这将是噩梦。不过有个更简单的方法,

git submodule foreach git checkout master 
git submodule foreach git pull

3. submodule 删除

删除submodule会麻烦些,仅仅删除submodule模块内容,是无法彻底从git中删除掉。还需要到git相关配置文件中删除条目。

  1. 删除 [项目根目录/.gitmodules] 中对应的条目
  2. 删除 [项目根目录/.git/config] 中对应的条目
  3. 删除 [项目根目录/.git/modules] 目录下的对应的submodule文件夹
  4. 执行 git rm –cached [modulename] 命令
  5. 删除 submodule 模块内容

4.切换submodule到指定tag

cd submodule_directory
git checkout v1.0
cd ..
git add submodule_directory
git commit -m "moved submodule to v1.0"
git push

 其他人员只要执行如下命令,就同步去过

git pull
git submodule update

转载于:https://my.oschina.net/lieefu/blog/813078

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值