当前位置: 首页 > news >正文

git modules

意义

Git子模块进行代码管理和共享,适用于需要将一个项目作为另一个项目的子目录的情况,组件库、api库、多项目的公共部分提取,为微前端做基础。

  • 解决公共代码问题: 在项目A和项目B中都会用到,例如组件库,那么这些文件可以作为 submodules 来管理,减少重复代码
  • 解决团队维护难题: 为了解决多团队维护的难题,Git Submodules 也能大展身手,它可以让每个团队负责的模块就是一个 Git 仓库,这些 Git 仓库都被包含在同一个主 Git 项目下

子模块的概念

  • 子模块(submodule)是一个内嵌在其他 git 仓库(父工程)中的 git 仓库,子模块有自己的 git 记录。
  • 被当作 submodule 的 Git 仓库,其实不知道自己变成了 submodule,它更不知道爸爸们有谁。(意思是,当你打开某个被当作 submodule 的 Git 仓库首页时,或者拉下这个仓库时,没有任何痕迹表明它是个submodule。因为父子信息不存在这里,只存在爸爸那里。)
  • 父子关系的信息保存在主项目的 .gitmodules 文件,如果不是新加 submodule,这个文件通常不必改变了,因为信息比较固定。
  • 主项目还保存了对应 submodule 的版本号(commit id),没有冗余存储 submodule 的代码。(这其实是个跳转到另一个仓库的链接,指明了具体的 commit id)

常用指令

1.新增子模块

向一个项目中添加子模块 git submodule add <repository-url> <path>
<repository-url> 是你想要添加的子模块的Git仓库地址。
<path> 是你在本地想要将这个子模块放置的路径。
之后会 clone 该子模块对应的远程项目文件到本地父项目目录下的同名文件夹中(./xxx/),父项目下也会多一个叫 .gitmodules 的文件,内容大致为:

[submodule "xxx"]path = xxxurl = git@github.com:yyy/xxx.git

如果存在多个子模块,则会继续向该文件中追加与上面相同格式的内容;

2.查看子模块

git submodulegit submodule status

3.初始化子模块

git submodule init此命令会生成 .gitmodules 文件,记录子模块的远程仓库地址和本地路径。

4.‌更新子模块

git submodule update --remote拉取子模块的最新代码并更新本地仓库

PS:
参考地址:https://cloud.tencent.com/developer/article/2136829

http://www.dtcms.com/a/279883.html

相关文章:

  • 8.6 Rag-基础工具介绍(开源工具)
  • 5、qt系统相关
  • 面试150 根节点到叶子节点数字之和
  • 机构参与度及其Python数据获取示例
  • SVD、DCT图像压缩实践
  • 020 实现一个简易 Shell
  • Java集合和字符串
  • JVM-1
  • 现场设备无法向视频汇聚EasyCVR视频融合平台推流的原因排查与解决过程
  • 常用的OTP语音芯片有哪些?
  • Gstreamer之”pad-added“事件
  • cron监控进程逻辑
  • C#中发布订阅的阻塞非阻塞
  • 微美全息借区块链与DRL算法打造资源管理协同架构,达成边缘计算与区块链动态适配
  • Function-——函数中文翻译渊源及历史背景
  • 学习笔记(35):了解原理:从密度到了解概率密度
  • iperf3 网络带宽测试工具学习
  • 国内隧道IP代理技术解析:原理、优势与实战应用
  • 网络地址转换(NAT)与单臂路由实验
  • 2.逻辑回归、Softmax回归
  • 智能节气装置
  • 记录网络切换时同步操作
  • TypeScript 配置全解析:tsconfig.json、tsconfig.app.json 与 tsconfig.node.json 的深度指南
  • JJ20 Final Lap演唱会纪念票根生成工具
  • 信息收集的基本流程
  • 大模型呼叫系统选型指南
  • 【Linux】Linux 操作系统 - 28 , 进程间通信(四) -- IPC 资源的管理方式_信号量_临界区等基本概念介绍
  • 递推预处理floor(log_2{n})
  • Class9简洁实现
  • HashMap的put过程以及hashMap的简单介绍