GIT共享 跨仓库操作 子模块

初级代码游戏的专栏介绍与文章目录-CSDN博客

        有些文件想在多个项目共享,但是又不能放在一个GIT仓库里,这要用到子模块(submodule),说难不难,就是有些细节要注意。

        不过说真的,共享向来不是个好主意。

目录

一、操作

1.1 添加子模块

1.2 提交、更新子模块

1.3 主模块下更新子模块

二、注意事项


        以下均基于TortoiseGit客户端。

一、操作

1.1 添加子模块

        在工作目录(含有.git目录的地方)下点右键“添加子模块”,选择版本库路径和本地目录名,本地目录下多出一个子模块的目录和一个.gitmodules文件,这个文件记录了子模块信息,新建的目录则包含了共享的那个版本库的最新版本文件。

1.2 提交、更新子模块

        进入子模块的目录,可以提交、更新共享的版本库的内容,就像一个普通的仓库和工作目录一样,只不过“提交”变成了“提交子模块”。会提示设置用户名和邮箱。

1.3 主模块下更新子模块

        在主项目的工作目录下“更新子模块”可能会获得子模块的最新内容,也可能什么都不会发生。新克隆只会得到子模块的空目录,必须执行“更新子模块”才能获得子模块的内容。主项目里只管理子模块的版本号,子模块的版本有变化(发生了提交或拉取),则主项目的子模块产生一条变更。记住这一点很重要,提交或拉取了子模块一定要同时提交主项目的子模块记录。

二、注意事项

  1. 在主项目的工作目录下“更新”会得到别人添加的子模块的入口,但不会得到子模块的内容。
  2. 获得子模块的最新内容需要在子模块下更新,就是1.2的做法。
  3. 首次在子模块下拉取可能会提示分支切换,切换即可。首次在主项目下同步也可能提示分支问题,但无法切换,执行一次提交(会提示设置用户名和邮箱)即可(并不需要实际有改动)。似乎这是客户端的BUG而已。
  4. 提交主项目会提示“子模块不洁净”,建议同时提交子模块,如果选择“放弃”则不会提交子模块,选择“提交”则执行一次子模块的提交。很显然,子模块的内容还是在共享的仓库里的,主项目的仓库只是做了链接。
  5. 鉴于子模块更新可能操作不当,建议同时保持一个独立的子模块,这样容易比较是不是正确进行了更新。
  6. 在主项目的子模块做了提交,但没有提交主项目(此时主项目的变更项目里面有一行表示子模块),然后在主项目执行“更新子模块”,会把子模块还原到之前的版本,刚才的提交会丢失(当然,可以通过跟在子模块更新同步回来)。这说明主项目记录了子模块的版本,主项目跟子模块相关的变更项就是记录这个版本信息的。主项目“更新子模块”就是更新这个版本信息,更新时没有发现本地版本更新,这或许是个BUG。

(这里是结束)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

并发编程所需的底层基础

一、计算机运行的底层原理 1.多级层次的存储结构 ①:辅存 固态盘不是主要的应用对象,因为固态盘的使用次数是有限的,无法支撑高并发场景 磁盘存储的最基本原理是电生磁。 磁盘的磁道里边有很多的磁颗粒,磁颗粒上边有一层薄膜为了防止磁点氧…

Android VPN TLV协议场景使用

TLV协议格式是一种可变格式, TLV的意思就是:Type类型, Lenght长度,Value值; Type和Length的长度固定,一般那是2、4个字节; Value的长度有Length指定; 解析方法: 1.读取t…

C++ list详解及模拟实现

目录 本节目标 1. list的介绍及使用 1.2 list的使用 2.list的模拟实现 1.对list进行初步的实现 2.头插和任意位置的插入 3.pos节点的删除,头删,尾删 4.销毁list和析构函数 5.const迭代器 6.拷贝构造和赋值操作 3.完整代码 本节目标 1. list的…

Zookeeper的ZAB协议原理详解

Zookeeper的ZAB协议原理详解 如何保证数据一致性。 Paxos, 吸收了主从。 zk 数据模型Watch机制 zab zookeeper原子广播协议。 ZAB概念 ZooKeeper是通过Zab协议来保证分布式事务的最终一致性。 Zab(ZooKeeper Atomic Broadcast,.ZooKeeper原子广播协议)支持…

8 款AI 绘画生成器:从文本创建 AI 艺术图像

人工智能正在影响各行各业,近年来它对创意产业的影响越来越大。由于AI绘画生成器的可操作性,许多人有机会用自己的想法进行艺术创作——即使他们没有接受过系统的专业艺术教育。 最先进的人工智能绘画生成器可能会改变我们未来创作艺术的方式。使用 AI …

pandas中DataFrame用法(python)

简介 DataFrame 一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以…

【火猫TV】LPL春季赛前瞻:Tabe迎战LNG OMG关键一战!

北京时间3月20日,LPL春季赛今天继续进行,今天将会迎来春季赛常规赛第八周第三个比赛日,今天的两场比赛是LNG战队对阵AL战队以及OMG战队对阵BLG战队,今天的两场比赛对于LNG、AL以及OMG战队都是比较重要的,目前三支战队都…

「Nginx」Nginx配置详解

「Nginx」Nginx配置详解 参考文章1、正向代理和方向代理2、指定域名允许跨域 参考文章 1、Nginx反向代理 2、nginx配置详解 3、Nginx服务器之负载均衡策略(6种) 1、正向代理和方向代理 2、指定域名允许跨域 map $http_origin $allow_cors {default 1;…

vmare17 安装不可启动的iso镜像系统

由于要测试一个软件,要安装一个Windows11_InsiderPreview_Client_x64_zh-cn_26058.iso 于是在虚拟机里捣鼓一下。但是这个iso好像不能直接启动 这样就无法直接安装了,怎么办呢,可以先用个pe系统引导进去,再在PE系统里安装这个iso…

河北库卡机器人KR500电源模块故障,该如何处理?

库卡机器人KR500电源模块常见故障类型及维修方法 1)电源模块故障指示灯亮 故障现象:库卡机器人KR500电源模块上的故障指示灯亮起,机器人不能正常工作。 维修方法:根据故障指示灯的闪烁频率或颜色判断具体的故障类型。然后&#xf…

计算机是如何工作的?CPU、内存、操作系统...

文章目录 前言一、冯诺依曼体系(Von Neumann Architecture)二、内存和硬盘区别三、CPU四、操作系统4.1计算机系统的分层视图4.2进程和线程4.3进程控制块(PCB)4.4进程管理 五、经典面试题 前言 计算的需求在⼈类的历史中是⼴泛存在…

用 ElementPlus的日历组件如何改为中文

文章目录 问题分析 问题 直接引入日历组件后&#xff0c;都是英文&#xff0c;应该如何把头部英文改为中文 <template><el-calendar><template #date-cell"{ data }"><p :class"data.isSelected ? is-selected : ">{{ data.da…

Web and HTTP

Web and HTTP First, a review… ▪ web page consists of objects ▪ object can be HTML file, JPEG image, Java applet, audio file,… ▪ web page consists of base HTML-file which includes several referenced objects ▪ each object is addressable by a URL, e.g.,…

java面向对象进阶---学习第一课

1.static学习&#xff1a; static&#xff0c;是java修饰符&#xff0c;可以修饰成员方法&#xff0c;成员变量。 注意&#xff1a;&#xff01;&#xff01;&#xff01;共享的情况&#xff0c;就是用static来修饰 类名&#xff1a;1.见名知意。2.私有化构造方法 3.方法定义…

发布 AUR 软件包 (ArchLinux)

首发日期 2024-03-09, 以下为原文内容: 理论上来说, 我们应该平等的对待每一个 GNU/Linux 发行版本. 但是, 因为窝日常使用 ArchLinux, 所以对 ArchLinux 有一些特别的优待, 比如自己做的软件优先为 ArchLinux 打包发布. 本文以软件包 librush-bin 为例, 介绍发布 AUR 软件包的…

LF-YOLO

LF-YOLO算法解读&#xff0c;针对x射线图像 1、EMF&#xff1a;网络结构的改变&#xff0c;enhanced multiscale feature(增强的多尺度特性)&#xff0c;多尺度融合模块。利用基于参数的方法和无参数的方法&#xff0c;可以同时结合X射线图像的局部和全局上下文&#xff0c;利用…

kaggle竞赛宝典 | 时间序列和时空数据大模型综述!(建议收藏!)

本文来源公众号“kaggle竞赛宝典”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;时间序列和时空数据大模型综述&#xff01; 作者&#xff1a;算法进阶 时间序列和时空数据大模型综述&#xff01; 1 前言 大型语言模型&…

short、byte 运算不能赋值给原类型问题分析

一、题目分析 该题目来源于牛客网中的一道选择题 给出如上代码&#xff0c;问你输入结果&#xff0c;但是考试时并不能看出错误原因导致踩坑 &#xff1b; 鼠标指向报错位置&#xff0c;直接给出提示了&#xff0c;两种类型四则运算都会强制转换为int之后进行运算 二、具体原…

演讲嘉宾公布 | 智能家居与会议系统专题论坛将于3月28日举办

一、智能家居与会议系统专题论坛 智能家居通过集成先进的技术和设备&#xff0c;为人们提供了更安全、舒适、高效、便捷且多彩的生活体验。智能会议系统它通过先进的技术手段&#xff0c;提高了会议效率&#xff0c;降低了沟通成本&#xff0c;提升了参会者的会议体验。对于现代…

Linux系统部署SQL Server结合内网穿透实现公网访问本地数据库

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库&#xff0c;并结合cpolar内网穿透工具&#xff0…