git statsh、git submodule

news2025/2/23 5:02:18

文章目录

  • git stash解决git pull和本地文件的冲突
    • 1、先将本地修改存储起来
    • 2、pull内容
    • 3、还原暂存的内容
    • 4、解决文件中冲突的的部分
    • 5、删除stash。
    • 6 、git stash pop 与 git stash apply <stash@{id}> 的区别。
  • 回退后的版本是不追踪的
  • git 还原修改
  • git submodule

git stash解决git pull和本地文件的冲突

场景:当有个紧急的bug需要你解决时,而你手头正在解决一个不太紧急的bug,这时你pull代码会与本地冲突,提示如下信息:

error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.Please, commit your changes or stash them before you can merge.

这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。可以用git statsh解决

1、先将本地修改存储起来

git stash

查看保存的信息:

git stash list    

其中stash@{0}就是刚才保存的标记。

2、pull内容

暂存了本地修改之后,就可以pull了。

git pull

然后就可以修改紧急的bug,修改完提交后可以还原

3、还原暂存的内容

git stash pop stash@{0}

如果系统提示如下类似的信息:

Auto-merging c/environ.cCONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

4、解决文件中冲突的的部分

例如:
在这里插入图片描述

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。解决完成之后,就可以正常的提交了。

5、删除stash。

 git stash drop <stash@{id}>  

如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。

清除所有stash

git  stash clear 

6 、git stash pop 与 git stash apply <stash@{id}> 的区别。

  • git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除
  • git stash apply stash@{id} 命令则会继续保存stash id

参考博文:git 合并代码操作 git stash解决git pull和本地文件的冲突

回退后的版本是不追踪的

  • 场景:当我们在一个分支上的修改出现大问题时,想要回退到上一个版本,可以考虑先将本分支删除,再在其他位置克隆代码,切换到本分支并回退版本,将回退后的版本的代码复制到当前被删除的分支的位置,完成替换且代码能够追踪。

  • 注意:回退的版本是不可以被修改的,如果修改后再提交需要强制推送,可能存在问题。保险起见是采用替换的方式

git 还原修改

原有三种情况:

  • 只是修改了文件,没有任何 git 操作

  • 修改了文件,并提交到暂存区(即:编辑之后,进行git add 但没有 git commit -m “留言xxx”)

  • 修改了文件,并提交到仓库区(即:编辑之后,进行git add 并且 git commit -m “留言xxx”)

如果是情况1:

git checkout -- aaa.cpp // 指定还原`aaa.cpp`文件

git checkout -- * // 还原所有文件

如果是情况2:

git log --oneline            // 可以省略

git reset HEAD               // 回退到当前版本

git checkout -- aaa.cpp 

如果是情况3:

git log --oneline    // 可以省略

git reset HEAD^     // 回退到上一个版本,注意看HEAD后面有个 ^,HEAD^ 是回退到上个版本,HEAD^^ 是回退到上上个版本HEAD~数字 是回退到数字个版本

git checkout -- aaa.cpp 

参考博文:git还原修改

git submodule

场景:submodule是一种git特性,用以将一部分公共代码从主项目中抽离出来成为一个独立的git工程,并以submodule的形式被主项目使用,submodule和主项目(作为区分,本文叫主模块)充分解耦,这样做的好处是作为submodule的公共代码可以被多个主项目工程使用,减少了开发量和版本控制负担。同时,submodule作为独立的git工程,也使得权限管理、代码修改更加灵活。

举个例子,多个互相通信的项目,可以将通信协议部分common独立出来作为submodule,所有项目维护同一套通信协议common。

在企业开发中会使用该技术去管理多个项目的公共代码,提高开发效率

参考博文:
git submodule
git submodule的使用
Git Submodule 使用

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

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

相关文章

SpringBoot整合达梦数据库的教程(详解)

一、官网下载试用版本 http://www.dameng.com/down.aspx 我是win 11系统下载如下&#xff1a; 二、安装 解压后 双击打开iso文件 然后点击安装 选择创建实例&#xff08;注意记住账号/密码 端口号 默认的是 SYSDBA/SYSDBA 5236&#xff09; 然后一直下一步 到完成&#xff…

Win11下查看快捷键占用情况

Win11下查看快捷键占用情况 使用 OpenArk&#xff0c;根据文档描述&#xff0c;它可以查看许多 Windows 系统信息&#xff0c;包括快捷键&#xff0c;支持 Win10。 操作步骤&#xff1a; 1.下载 OpenArk Github&#xff1a;https://github.com/BlackINT3/OpenArk 单文件下载&…

计算机毕业论文内容参考|基于c语言的新一代预约挂号系统的设计与实现

文章目录 导文文章重点前言系统架构相关技术与方法介绍网络通信技术数据库管理技术算法模型选择技术分析技术设计:技术实现:总结与展望:本文总结:后续工作展望:导文 计算机毕业论文内容参考|基于c语言的新一代预约挂号系统的设计与实现 文章重点 前言 随着科技的不断发展…

linuxOPS基础_linux软件包安装

软件包概述 上图是windows下的软件包 Linux下也有很多可以安装的软件&#xff0c;而这些软件的安装包可细分为两种&#xff0c;分别是源码包和二进制包。 Linux下软件的安装方式 ① RPM软件包安装 > 软件名称.rpm ② YUM包管理工具 > yum install 软件名称 -y ③ 源码…

红外-星光-黑光-全彩夜视摄像头选型

星光”、“黑光”、“AI超微光”、“极光”&#xff0c;在安防行业这些概念似乎比“低照度摄像机”本身要火的多。 无论营销名称是什么&#xff0c;归根到底&#xff0c;它们都是用不同的方法使摄像机能在夜间拍摄到更像白昼一般的 高清夜视摄像头除了以前我们在项目上经常使…

腾讯云服务器怎么使用?新手入门教程

腾讯云服务器入门教程包括云服务器CPU内存带宽配置选择&#xff0c;选择云服务器CVM或轻量应用服务器&#xff0c;云服务器创建后重置密码、远程连接、搭建程序环境等&#xff0c;腾讯云服务器网分享从0到1腾讯云服务器入门教程&#xff1a; 腾讯云服务器入门教程目录&#xf…

进程信号

目录 信号的产生方式 程序的崩溃 通过键盘产生 进程异常产生 系统调用产生 软件条件产生 信号产生中 函数介绍 sigset_t&#xff08;信号集&#xff09; sigprocmask函数 sigpending函数 信号处理 用户态和内核态的理解 处理信号的过程 信号捕捉 sigaction函数…

安全测试13款免费的测试工具!

目录 前言&#xff1a; 1. Excercise in a Box 2. Needle 3. DevSlop 4. 移动安全框架(Mobile Security Framework) 5. Frida 6. Nishang 7. Tamper 8. InSpec 9. Faraday 10. Pocsuite 11. Taipan 12. Pacu 13. Secure Guild 前言&#xff1a; 首先&#xff0c;我想强调一…

策略模式——实践:在业务逻辑中理解设计模式

一般定义 策略模式(Strategy Pattern)&#xff1a;定义一系列算法&#xff0c;将每一个算法封装起来&#xff0c;并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化&#xff0c;也称为政策模式(Policy)。 主要角色 Context: 环境类 Strategy: 抽象策略类 Concr…

CnOpenData电商平台交易数据数据

一、数据简介 电子商务是网络化的新型经济活动&#xff0c;是推动“互联网&#xff0b;”发展的重要力量&#xff0c;是新经济的主要组成部分。通过电商平台获取的电商交易平台数据可以及时统计、监测数据&#xff0c;全方位跟踪分析电子商务市场的发展情况和发展环境&#xff…

mysql中的group by 和 having使用

mysql中的group by 和 having 使用 理论 –sql中的group by 用法解析&#xff1a; – Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。 –它的作用是通过一定的规则将一个数据集划分成若干个小的区域&#xff0c;然后针对若干个小区域进行数…

【Nginx+Tomcat的7层代理和四层代理】

目录 一、NginxTomcat负载均衡、动静分离1、正向代理2、反向代理3、Nginx动静分离实现原理Nginx静态处理优势 二、实战1.部署Nginx 负载均衡器2.部署2台Tomcat 应用服务器3.动静分离配置&#xff08;1&#xff09;Tomcat1 server 配置&#xff08;2&#xff09;Tomcat2 server …

【华为OD机试真题2023B卷 JAVAJS】评论转换输出

华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 评论转换输出 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 在一个博客网站上,每篇博客都有评论。每一条评论都是一个非空英文字母字符串。 评论具有树状结构,除了根评论外,每个评论都有一个父评论。 当评论保…

ciso模拟器配置RIP2

本文为ciso模拟器配置RIP2 操作笔记 (供新手参考&#xff09; 思科路由器设置ip地址怎么设置(思科模拟器中怎样给路由器配置ip地址) 方法一&#xff1a; 物理配置 https://www.luyouqi.com/shezhi/39347.html 方法二&#xff1a; 路由 CLI 配置 https://blog.csdn.net/qq_6…

Tomcat ServletConfig和ServletContext接口概述

ServletConfig是一个接口&#xff0c;是Servlet规范中的一员 WEB服务器实现了ServletConfig接口&#xff0c;这里指的是Tomcat服务器 一个Servlet对象中有一个ServletConfig对象&#xff0c;Servlet和ServletConfig对象是一对一 ServletConfig对象是Tomcat服务器创建的&#xf…

你用过的低代码都装备了这四大引擎吗?

低代码开发是一种通过图形化界面和少量编码来快速构建应用程序的方法。尽管增删改查是低代码开发中常见的基本功能&#xff0c;但仅仅通过这些功能的配置&#xff0c;往往只能实现数据的输入和输出&#xff0c;无法满足实际的业务需求。 增删改查功能主要用于对数据进行操作&a…

第11章:SpringMVC注解配置

一、注解配置SpringMVC 目的是&#xff1a;使用配置类和注解代替web.xml和Spring.MVC配置文件的功能 1.创建初始化类&#xff0c;代替web.xml 在Servlet3.0环境中&#xff0c;容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类&#xff0c;如果找…

c++的概述(二)

新增bool类型 bool的变量只能赋值为true (非0) 或false (0) #include <iostream>using namespace std;int main(int argc, char const *argv[]) {bool num;num true;cout<<"true "<<true<<endl;cout<<"false "<<…

移动端布局之flex布局3:案例-携程网首页案例制作(曾经的版本)2

移动端布局之flex布局3 案例&#xff1a;携程网首页案例制作(曾经的版本)背景线性渐变index.htmlindex.css 侧导航栏index.htmlindex.css 热门活动模块制作index.htmlindex.css 案例&#xff1a;携程网首页案例制作(曾经的版本) 背景线性渐变 background:linear-gradient(起始…

简单三步,教你快速接入淘宝开放平台,调用官方API

淘宝开放平台是为了方便开发者接入淘宝平台&#xff0c;进行商品、订单等信息的管理和交互而设计的。接入淘宝开放平台需要经过一系列审核和申请流程&#xff0c;而在API权限包审核时&#xff0c;一定要提供真实有效的证件和资料&#xff0c;并满足相应的条件&#xff0c;才能顺…