git学习笔记-发现问题如何恢复

1.概要

git总出各种问题,不清楚原因。所以准备了解的跟深入些。本来的理解是这样的:

下载我就pull

修改完就

commit然后push

怎么会有问题的,结果还总有。

既然问题无法避免,那就提高解决问题和恢复问题的能力。如果问题能够恢复就没有什么可担心的。那么恢复问题的方法就那些呢?有如下两种,一种是回退,回退到某一个正确的版本,一种是对某一个错误的版本重新处理。

二 常用的处理流程

1.reset 回退

1.1 基本步骤

1.1.1 git reset --hard

1.1.2 git push -f 因为你push的版本较低,需要强制提交

1.2 回退的基本原理:git reset --hard命令会将HEAD指针、当前分支指针和索引区都移动到指定的commit ID,从而重置工作区为该版本。

1.3 重置的几种类型

1.3.1 --hard 最危险、但也最简单有效

--hard是最直接,最危险,同时也是使用最频繁的选项。当我们传入 --hard 执行 git reset 时,Commit History会被更新到指定的commit,同时暂存索引和工作目录也会被重置到对应commit的状态。这意味着,指定你工作目录和暂存索引里的内容会丢失。

1.3.2 --mixed 
--mixed 是默认的选项。这种模式下,引用指针会更新。暂存索引被重置到指定commit的状态,任何暂存索引未提交的变更都会被移动到工作目录中。

1.3.3 --soft
我们传递--soft 选项时,引用指针被更新, 暂存索引和工作目录保持不变。

2. revert 重做某一个版本

2.1 基本步骤如下

2.1.1 git revert -n 版本号

2.2.2 git commit -m 版本名

2.2.3 git push

这个步骤多半是会有问题的,因为如果再去掉这个版本的过程中,往往会有合并,如果有合并的话,这里就需要你处理冲突,没有冲突的情况特别扫,除非这个版本中你做的就是添加或者删除文件的事。

基本上可以把这两种情况教主 revert commit 和revert merge commit ,如果有merge是需要处理冲突的。

2.2  两种不桶的从做方法

git revert --abort  合并后如果有冲突,恢复原状,就像什么都没发生过一样

git revert --quit 和并后,保留处理的结果,如果有冲突,需要手动合并。

3.放弃本次修改

3.1 没有提交的情况

3.1.1 未git add

 git checkout – filepathname 

 git checkout .//全部文件

3.1.2 已经git add

git reset HEAD filepathname

git reset HEAD .

3.1.3 已经 git commit

git reset --hard commitid //任意版本

git reset --hard HEAD^ //上一版

3.1.4 对于本地的项目中修改不做任何理会,就需要用到Git pull的强制覆盖

git fetch --all
git reset --hard origin/master
git pull

4 其他命令

4.1 git status 查看工作区文件的状态

4.2 git-ls-files  -    显示有关索引和工作树中文件的信息

     -s --stage在输出中显示暂存内容的模式位,对象名称和阶段编号

4.3 git rm --cached 文件名 删除缓冲区的文件

      git stash 删除.git 文件中index文件夹中的全部文件

4 参考连接

Git回退版本的几种操作_git回滚到指定版本-CSDN博客

Git恢复之前版本的两种方法reset、revert(图文详解)_git reset 回退以前某个版本_chentiebo的博客-CSDN博客

git如何放弃本地修改操作_git放弃本地修改_北漂燕郊杨哥的博客-CSDN博客

git: 放弃所有本地修改_git放弃本地修改-CSDN博客

Git杂谈—— 万字长文详解git reset - 知乎

https://www.cnblogs.com/ahzxy2018/p/14521922.html

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

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

相关文章

Java之数据类型与变量

目录 1. 字面常量 2. 数据类型 3. 变量 3.1 变量概念 3.2 语法格式 3.3 整型变量 3.3.1 整型变量 3.3.2 长整型变量 3.3.3 短整型变量 3.3.4 字节型变量 3.4 浮点型变量 3.4.1 双精度浮点型 3.4.2 单精度浮点型 3.5 字符型变量 3.6 布尔型变量 3.7 类型转换 3.7…

IOC课程整理-18 Spring注解

1. Spring 注解驱动编程发展历程 2. Spring 核心注解场景分类 3. Spring 注解编程模型 https://github.com/spring-projects/spring-framework/wiki/Spring-Annotation-Programming-Model 4. Spring 元注解(Meta-Annotations) 元注解(Meta-A…

UE4 体积云制作 学习笔记

首先Noise本来就是一张噪点图 云的扰动不能太大,将Scale调小,并将InputMin调整为0 形成这样一张扰动图 扰动需要根据材质在世界的位置进行调整,所以Position需要加上WorldPosition 材质在不同世界位置,噪点不同 除以一个数&#…

ETCD备份与恢复

文章目录 主要内容一.备份1.先安装etcd客户端代码如下(示例): 2.备份成文件并查看代码如下(示例): 3.解释 二.恢复1.先停止服务代码如下(示例): 2.删除现有ETCD,并恢复数据代码如下(…

前端 读取/导入 Excel文档

情况: 需要通过Excel表,将数据导入到数据库,但是后台人员出差了,我又只会PHP,没用过node,所以只能前端导入Excel文件,然后循环调用后台的单条添加接口了。 库: Excel.js&#xff08…

MySQL 约束条件,关键字练习,其他语句

创建表的完整语法 create table t1( id int, name varchar(43), age int ); create table 库名.表名( 字段名1 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名2 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名3 数据类型 约束条件 约束…

NPM【问题 01】npm i node-sass@4.14.1报错not found: python2及Cannot download问题处理

node-sass安装问题处理 1.问题2.处理2.1 方案一【我的环境失败】2.2 方案二【成功】2.3 方案三【成功】 1.问题 gyp verb which failed Error: not found: python2 # 1.添加Python27的安装路径到环境变量 gyp verb check python checking for Python executable "python…

Unity C#中LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查

LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查 介绍Lua表lua表初始化lua移除引用lua中向表中添加数据lua中表中移除数据lua表中连接数据lua表中数据排序获取lua表长度获取表中最大值 UnityC#中LuaTableUnityC#中LuaArrayTable、LuaDictTable、LuaDictTable<K,V>…

SpringCloud复习:(3)LoadBalancerInterceptor

使用Ribbon时&#xff0c;execute方法会由RibbonLoadBalancerClient类来实现 它会调用重载的execute方法 getLoadBalancer默认会返回ZoneAwareLoadBalancer&#xff08;基类是BaseLoadBalancer).此处调用的getServer方法就会根据负载均衡策略选择适当的服务器来为下一步的htt…

【Unity】RenderFeature应用(简单场景扫描效果)

【Unity】RenderFeature应用&#xff08;简单场景扫描效果&#xff09; RenderFeature 是一个用于渲染图形的概念&#xff0c;通常在图形引擎或游戏引擎中使用。它是一个模块化的组件&#xff0c;负责处理特定的渲染功能&#xff0c;例如阴影、光照、粒子效果等。 点击地面生成…

【网络】序列化反序列化

序列化反序列化 一、序列化反序列化1、概念2、序列化作用3、序列化框架的选择 二、Json1、介绍2、简单使用 一、序列化反序列化 1、概念 在前文《网络编程套接字》中&#xff0c;我们实现了服务器与客户端之间的字符串通信&#xff0c;这是非常简单的通信&#xff0c;在实际使…

p5.js 到底怎么设置背景图?

本文简介 点赞 关注 收藏 学会了 在 《p5.js 光速入门》 里我们学过加载图片元素&#xff0c;学过过背景色的用法&#xff0c;但当时没提到背景图要怎么使用。 本文就把背景图这部分内容补充完整&#xff0c;并且会提到在 p5.js 里使用背景图的一些注意点。 背景图的用法…

pgsql 分组查询,每组取10条

需求&#xff1a; 按照表的字段分组&#xff0c;然后每组取10条结果&#xff0c;返回即可 sql 如下&#xff1a; SELECT* FROM (SELECT chk_id,feature_id,task_id, ROW_NUMBER () OVER (PARTITION BY chk_id ORDER BY chk_id) AS row_num FROM ics_check_report WHERE task…

中微爱芯74逻辑兼容替代TI/ON/NXP工规品质型号全

这里写自定义目录标题 工业级型号全产品线概述![在这里插入图片描述](https://img-blog.csdnimg.cn/097ef810b2234f07b0c0c1e962a73761.png)批量应用行业头部客户兼容替代封装对照逻辑参数对比电平转换系列型号对照HC/HCT 系列型号对照AHC/AHCT 系列型号对照LV/LVC 系列型号对照…

我是如何快速从python小白达到20k?

前言 首先说一下我自己的情况&#xff0c;我之前是学JAVA的&#xff0c;JAVA亡了只好转行python 很多新手就在好奇自己明明都认认真真的学习了python&#xff0c;但就是感觉很杂很乱&#xff0c;按照我这个流程&#xff0c;至少可以省一大半时间&#xff0c;完整的知识体系很重…

数据可视化报表分享:区域管理驾驶舱

在零售数据分析中&#xff0c;区域管理驾驶舱报表是用来分析企业运营数据&#xff0c;以制定销售策略和提高利润。因此这张报表需要整合大量数据&#xff0c;数据整合、分析、指标计算的工作量极大&#xff0c;在讲究高效率、高度及时性的大数据时代&#xff0c;BI数据可视化分…

Vue 3.3.6 发布,得益于WeakMap,它更快了

性能改进和DOM节点的附加属性的类型检查使新的Vue值得更新。Vue团队确实做了很多工作。实际上&#xff0c;他们在同一天发布了两个子版本。Vue 3.3.5 和 3.3.6 都在2023年10月20日发布。 WeakMaps 其中一个得到改进的是在可能的情况下从 Maps 和 Sets 转移到WeakMaps 和WeakSet…

centos服务器搭建安装Gitlab教程使用教程

1、更新服务器&#xff1a; sudo yum update -y && sudo yum upgrade -y 2、下载Gitlab的RPM包 https://packages.gitlab.com/gitlab/gitlab-cece表示开源el表示centos 选64位el8对应CentOS8 本教程以centos8为例&#xff0c;在服务器中&#xff0c;下载centos8的…

计算机网络【CN】TCP报文段格式【20B】

序号&#xff1a;本报文段所发送的数据的第一个字节的序号确认号&#xff1a;期望收到对方下一个报文段的第一个数据字节的序号。 重要控制位&#xff1a; 紧急位URG&#xff1a;URG1时&#xff0c;标明此报文段中有紧急数据&#xff0c;是高优先级的数据&#xff0c;应尽快传送…

MediaPlayer

1、概念 MediaPlayer是Android原生的多媒体播放器&#xff0c;可以用它来实现本地或者在线音视频的播放。 2、MediaPlayer的状态 下面的图是官方给出的状态转换图&#xff0c;也可易理解为MediaPlayer的生命周期。 椭圆形&#xff1a;表示MediaPlayer的状态&#xff1b;弧形…