git子模块--常见操作

克隆仓库

标准化克隆流程
  • 基本命令
    git clone <父仓库远程URL> [本地文件名]
    cd <本地仓库名>
    git submodule init   # 初始化子模块配置
    git submodule update # 拉取子模块内容
    
一次性完成克隆和初始化流程
  • 基本命令
    git clone --recurse-submodules <父仓库远程URL> [本地文件名]
    
其他克隆流程
  • 基本命令
    git clone <远程仓库URL> [本地文件名]
    cd <本地仓库名>
    git submodule update --init --recursive
    

添加子模块配置

标准化添加流程
  • 添加仓库命令
    git submodule add <子目录远程仓库URL> [子模块名]
    # 例:
    git submodule add $(cd blog && git remote get-url origin) blog # 将blog这个模块作为子模块添加到当前git仓库中;使用 git remote get-url <本地仓库名>
    
  • 成功添加后的表现
    • 生产或修改.gitmodules文件,若已有此文件,则直接写入新增的子模块配置,否则新建一个名为.gitmodules的文件并写入第一关配置
    • 提交时,子模块以特殊模式(160000)记录,表示其指向某个具体提交而非普通文件。

移除子模块配置

标准化写在流程
  • 命令行卸载子模块
    git submodule deinit <子模块的相对路径> # 在.git/config 和 .gitsubmodule中移除配置
    # 例:
    git submodule deinit "blog"
    
  • 删除子模块并暂存变更
    git rm <子模的相对块路径>
    
  • 清理残留文件:彻底删除子模块的Git缓存
    rm -rf .git/modules/<子模块名称>
    
  • 提交变更

修改子模块配置

更新子模块路径以及名称
  • 使用命令移动或重命名子模块目录
    git mv old/path new/path # 将旧的路由更名为新的路由
    
    执行完毕后.gitmodules中的路由配置信息会自动更新
    git config -f .gitmodules submodule.<submodule-neme>.path new/path # 如果没有自动更新可使用此命令更新,或手动编辑 .gitmodules 文件
    
  • 使用文件编辑器方式更新子模块名称
    vim .gitmodules # 使用任何编辑方式均可
    
    修改[submodule "<子模块名>"]中的配置
    [submodule "old-name"]  => [submodule "new-name"] # 将名称配置修改为新的名称(最好与路径字符串统一)
    path = <new/path>
    url = <URL保持不变>
    
  • 在其他地方使用最新的仓库
    git pull # 拉取最新内容,修改后的路径会以一个全新的文件夹的方式新增在这里
    rm -rf old/path # 移除掉以及被淘汰的旧路径
    git submodule update # 更新子模块内容,如果此命令无效可先输入 git submoduel init
    cd new/path
    git switch <目标分支> # 新克隆的子模块的分支处于游离状态,所以需呀切换到有效分支在做操作
    
更新子模块远程地址
  • 使用命令更新子模块路径
    git config -f .gitmodules submodule.<submodule-name>.url <new-url>
    
    自动更新.gitmodules文件中的呢日欧能够,或使用文本编辑系做如下修改
    [submodule "submodule-name"]
    path = <路径保持不变>
    url = <old-url> => url = <new-url> # 将URL配置修改为新的URL
    
  • 使用命令更新子模块
    git submodule update --remote
    
  • 在其他地方使用最新的仓库
    git pull # 拉取最新内容,修改后的路径会以一个全新的文件夹的方式新增在这里
    git submodule update # 更新子模块内容,如果此命令无效可先输入 git submoduel init
    
更新子模块内容,以及同步父模块
  • 从本地更新到远程
    cd path
    git add .
    git commit -m "<提交信息>"
    git pull [仓库名称] [目标分支] # 提交之前拉取一次最新版的远程仓库,防止提交冲突
    git push [仓库名称] [目标分支]
    cd <父仓库的根目录>
    git commit -am "更新子模块"
    git pull
    git push
    
  • 从远程更新到本地
    cd path
    git switch <分支名称>
    git pull [仓库名称] [目标分支]
    git submodule update --remote [--init] [--recursive] # 远程指令(必填)、初始化指令(选填)、递归指令(选填)
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ceph 剔除 osd

剔除 osd 参考官网文档 Removing OSDs (Manual) Removing the OSD 你得周期性地维护集群的子系统、或解决某个失败域的问题(如一机架)。如果你不想在停机维护 OSD 时让 CRUSH 自动重均衡,提前设置 noout ceph osd set nooutid=1# OSD 通常在从集群中移除之前处于 up in 在…

MySQL推出全新Hypergraph优化器,正式进军OLAP领域!

在刚刚过去的 MySQL Summit 2025 大会上&#xff0c;Oracle 发布了一个用于 MySQL 的全新 Hypergraph&#xff08;超图&#xff09;优化器&#xff0c;能够为复杂的多表查询生成更好的执行计划&#xff0c;从而优化查询性能。 这个功能目前只在 MySQL HeatWave 云数据库中提供&…

破能所,入不二

一、缘起&#xff1a;从“闻所闻尽”到性相不二 《楞严经》观世音菩萨耳根圆通法门的核心教义——“初于闻中&#xff0c;入流亡所&#xff1b;所入既寂&#xff0c;动静二相&#xff0c;了然不生。如是渐增&#xff0c;闻所闻尽”&#xff0c;揭示了从凡夫二元认知跃升至究竟…

网站每天几点更新,更新频率是否影响网站收录

1. 每天几点更新网站最合适&#xff1f;总怕时间选错影响收录&#xff1f; 刚开始搞网站的时候&#xff0c;是不是老纠结啥时候更新合适&#xff1f;早上刚上班&#xff1f;半夜没人的时候&#xff1f;选不对时间&#xff0c;总担心搜索引擎爬虫来了没抓到新内容&#xff0c;影…

使用workvisual对库卡机器人进行程序备份

1&#xff0c;将电脑网卡设置自动获取&#xff0c;用网线将电脑与库卡机器人控制柜上的网口连接 2&#xff0c;打开软件后&#xff0c;会出现项目打开对话框&#xff0c;点击浏览按钮&#xff0c;会出现机器人站项目 3&#xff0c;点击项目前面的➕&#xff0c;展开菜单&…

2025.5.22 Axure 基础与线框图制作学习笔记

一、Axure 基础 - 界面及相关了解 界面布局 工具栏 &#xff1a;位于软件上方&#xff0c;包含新建、打开、保存等常用文件操作按钮&#xff0c;以及撤销、重做、剪切、复制、粘贴等编辑功能按钮&#xff0c;方便快速执行相关操作。 元件面板 &#xff1a;在左侧&#xff0c;提…

Python训练打卡Day36

复习日&#xff1a; 回顾神经网络的相关信息 1. 梯度下降的思想 梯度下降的本质是一种迭代优化算法&#xff0c;用于寻找函数的极小值点&#xff08;比如损失函数的最小值&#xff09;其关键的要素如下 梯度&#xff1a;函数在某点变化率最大方向学习率&#xff1a;每一步的…

【Android】System分区应用自带库与原生库同名问题分析

System分区应用自带库与原生库同名问题分析 问题背景 某系统应用发生必现崩溃问题。崩溃log如下 0*-** **:**:**.** 66666 66666 E ***** aar error:: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_TTT_TTT_TTT" referenced by &quo…

计算机网络中的单播、组播与广播

文章目录 前言一、单播&#xff08;Unicast&#xff09;1.1 定义与工作原理1.2 优点1.3 缺点1.4 典型应用场景 二、广播&#xff08;Broadcast&#xff09;2.1 定义与工作原理2.2 优点2.3 缺点2.4 典型应用场景 三、组播&#xff08;Multicast&#xff09;3.1 定义与工作原理3.…

ASP.NET MVC添加新控制器示例

ASP.NET MVC高效构建Web应用- 商品搜索 - 京东 控制器&#xff08;Controllers&#xff09;是一个协调视图和模型直接关系的特殊类。它响应用户输入&#xff0c;与模型进行对话&#xff0c;并决定呈现哪个视图&#xff08;如果有的话&#xff09;。在ASP.NET MVC中&#xff0c…

Escrcpy(安卓手机投屏软件) v1.29.6 中文绿色版

在数字设备日益普及的今天&#xff0c;用户对于设备的控制和管理需求也在不断增加。对于Android设备用户来说&#xff0c;Escrcpy这款强大的工具无疑是一个福音。它不仅提供了直观的图形化界面&#xff0c;让用户能够轻松显示和控制自己的Android设备&#xff0c;还以完全免费开…

Python爬虫实战:研究Goose框架相关技术

一、引言 随着互联网的迅速发展,网络上的信息量呈爆炸式增长。从海量的网页中提取有价值的信息成为一项重要的技术。网络爬虫作为一种自动获取网页内容的程序,在信息收集、数据挖掘、搜索引擎等领域有着广泛的应用。本文将详细介绍如何使用 Python 的 Goose 框架构建一个完整…

【Linux 学习计划】-- 冯诺依曼体系 | 操作系统的概念与定位,以及其如何管理软件

目录 冯诺依曼体系结构 操作系统是干什么的&#xff1f; 理解操作系统中的管理 对OS&#xff08;操作系统&#xff09;宏观、整体的分析 总结 结语 冯诺依曼体系结构 首先我们来看这样一张图&#xff0c;这就是大名鼎鼎的冯诺依曼体系 在日常生活中&#xff0c;所有的计…

新消息!阿里云ACP大模型认证有变化!

阿里云ACP认证是阿里云认证中的高级工程师&#xff0c;ACP认证方向有云计算、大数据、人工智能、大模型等多个&#xff0c;大家都知道&#xff0c;阿里云ACP考试题量共100题&#xff0c;其中70道单选题30道多选题&#xff0c;每题一分&#xff0c;满分100分&#xff0c;80分合格…

MySQL 数据迁移Postgresql(openGuass) 之 pg_chameleon

1 pg_chameleon 介绍 pgchameleon 是一款MySQL 到 PostgreSQL/openGuass 的复制工具。 pg_chameleon 使用场景&#xff1a; 1&#xff09;分析 2&#xff09;迁移 3&#xff09;对多个MySQL 数据库进行数据聚合 操作系统信息 (myenv) rootu24-pg-60:~# cat /etc/issue Ubuntu …

Spark 中,map和foreach的区别

在 Spark 中&#xff0c;map和foreach是两种不同用途的转换操作&#xff0c;主要区别在于&#xff1a; 1. 操作类型与返回值 map&#xff1a;是转换操作&#xff08;Transformation&#xff09;&#xff0c;返回一个新的 RDD。foreach&#xff1a;是行动操作&#xff08;Acti…

More SQL(Focus Subqueries、Join)

目录 Subqueries Subqueries That Return One Tuple Subqueries and Self Connection The IN Operator The Exists Operator The Operator ANY The Operator ALL Union, Intersection, and Difference&#xff08;交并差&#xff09; Bag Semantics Controlling Dupl…

OpenGL Chan视频学习-4 Vertex Buffers and Drawing a Triangle in OpenGL

一、视频链接 【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p5&vd_source44b77bde056381262ee55e448b9b1973 二、相关网站 docs.gl 三、代码整理 c #include <GL/glew.h> #include <GLFW/glfw3.h>#include<iostream>int…

WSL中ubuntu通过Windows带代理访问github

WSL中ubuntu通过Windows带代理访问github 前言: WSL是Windows下的ubuntu访问工具&#xff0c;目前无法访问外网&#xff0c;因此需要配置一下。 步骤一 代理中进行如下设置: 步骤二 ubuntu22.04中修改配置 使用如下命令获取IP地址&#xff1a; ip route | grep default | aw…

为(FramePack)的视频生成添加首尾帧功能

文章目录 &#xff08;一&#xff09;前言&#xff08;二&#xff09;可选的尾帧&#xff08;三&#xff09;测试&#xff08;四&#xff09;例子 &#xff08;一&#xff09;前言 前提是这个&#xff1a;《笔记本6GB本地可跑的图生视频项目&#xff08;FramePack&#xff09;…