git 使用 submodule 怎样指定分支

打印 上一主题 下一主题

主题 886|帖子 886|积分 2658

写在前面, 作为一个前端我是不喜欢使用 submodule的, 我更喜欢 npm 包的管理方式。
  初次添加子模块

git submodule add -b <branch> <remote> <path> 不指定分支就不传 -b <branch>


  • <branch> 分支名
  • <remote> 仓库地点
  • <path> 子模块路径, 也就是你的文件下载路径
示例: git submodule add -b stable https://github.com/example/submodule_repository.git submodules/my-submodule
已经添加过了子模块

可以在 .gitignore 文件里面添加字段来订定对应的分支, 例如下面。
  1. [submodule "src/uni_modules/hex-http"]
  2.         path = src/uni_modules/hex-http
  3.         url = https://mygitlab.xxxx.net/hex-mobile-app/hex-modules/hex-http.git
  4.         branch = release/prod_4.1.5
复制代码
这种更改一般在项目中不会直接生效,我的尝试是将修改提交到长途仓库,在新的文件夹拉取一份父仓库代码,然后执行 git submodule init  git submodule update 执行完成之后就会出现下面的日记.。

自动切换到了你指定的分支。
常用命令

安装子模块
  1. git submodule init
  2. git submodule update
复制代码
或者
  1. git submodule update --init --recursive
复制代码
删除子模块(不常用)
是的,你可以使用以下命令直接从 Git 仓库中删除子模块:
  1. git submodule deinit -f -- submodule_path
  2. git rm -f submodule_path
  3. rm -rf .git/modules/submodule_path
复制代码
这三个命令的作用是:

  • git submodule deinit -f -- submodule_path: 该命令会取消子模块的初始化。这将删除.git/config文件中的子模块配置。请留意,这不会删除子模块文件夹或.git/modules中的相关信息。
  • git rm -f submodule_path: 该命令会从暂存区和工作目录中移除子模块文件夹。使用 -f 参数可以强制删除,即使工作目录中的子模块已经被修改。
  • rm -rf .git/modules/submodule_path: 该命令会删除.git/modules目录中子模块的相关信息。
请确保在执行这些命令之前备份紧张的数据,由于它们会直接影响你的仓库结构。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表