Git学习:各阶段回退方法

news2024/11/18 16:53:24

文章目录

  • 一、问题背景
  • 二、解决方式
    • 1. 回退情况1:文件在工作区进行回退
    • 2. 回退情况2:文件在暂存区进行回退
    • 3. 回退情况3:文件在本地仓库进行回退
    • 4. 回退情况4:文件已经在远程仓库中

一、问题背景

Git 是分布式的软件管理系统。在把一份代码完成之后发送到 “远程仓库”,可能中间还经历了不同的 “提交阶段”。 本文介绍的是在不同阶段下对应的回退方法

二、解决方式

在Git中,一份代码可能处于不同的提交阶段。

一份新修改(或者创建的)文件处于 – 工作区

git add 之后, 文件会从 工作区 移动到 暂存区
git commit 之后, 文件会从 暂存区 移动到 本地仓库
git push 之后,文件会从 本地仓库 移动到 远程仓库

关系如图:

在这里插入图片描述

(图片来自 菜鸟教程)

1. 回退情况1:文件在工作区进行回退

这里指的是文件没有经过任何提交,仅仅只是保存。但是保存完之后发现需要回退一下代码。

此时可以使用 git checkout -- filename 进行回退。(危险动作,三思

2. 回退情况2:文件在暂存区进行回退

这里指的是文件经过git add 指令之后进入了暂存区。

此时可以使用 git reset HEAD 指令将暂存区的文件回退到修改之前的状态。(危险动作,三思

3. 回退情况3:文件在本地仓库进行回退

例如情况如下:

在这里插入图片描述

这里指的是文件经过git commit 指令之后进入了本地仓库。

此时可以使用 git log 查看本次提交之前的版本,并记住想要回退的版本的id。

然使用 git reset --hard commit_id (这里是 8c12) 指令将暂存区的文件回退到修改之前的状态。

4. 回退情况4:文件已经在远程仓库中

这里指的是文件经过git push 指令之后进入了远程仓库。

一种补救的方法就是修改错误的版本,push一个新的上去就行。

另一种和3类似,通过 git reset --hard commit_id 回退本地版本,然后把旧的版本重新push上去。然而,此时的问题就是此时本地的版本落后于远程的版本。因此直接再使用git push的话是失败的:

在这里插入图片描述

此时可以加上 -f 来强制推:git push - f

在这里插入图片描述

这样就可以了。

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

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

相关文章

代码随想录拓展day4 205. 同构字符串;1002. 查找常用字符;925.长按键入;844.比较含退格的字符串

代码随想录拓展day4 205. 同构字符串;1002. 查找常用字符;925.长按键入;844.比较含退格的字符串 哈希表和字符串的一些应用,放到一起了。 同构字符串 https://leetcode.cn/problems/isomorphic-strings/description/ 刚开始以…

spring boot:集成支付宝(沙箱环境)(spring boot 2.4.0 / wap/h5方式 )

一,配置支付宝沙箱环境: 1,沙箱的地址: 登录 - 支付宝 也可以登录后,从控制台点击 研发服务 进入 2,下载开发助手:并生成密钥 从这个页面,按自己所在的平台下载, 当前支持 windows,macos 开发助手简介 &#xf…

自定义Tango Control设备服务在Ubuntu中的测试

文章目录环境create a device classcompile the device classregister the devicestart the deviceexplore the device故障问题解决参考继续上一篇:https://blog.csdn.net/woshigaowei5146/article/details/128443892?spm1001.2014.3001.5501 环境 虚拟机&#xf…

布隆过滤器 以及缓存穿透问题

1. 前言 今天从客观的角度来分析下,什么是缓存穿透,什么是布隆过滤器,布隆过滤器是如何解决缓存穿透的。 2. 适合人群 对布隆过滤器不熟悉的人对Redis 缓存穿透不熟悉的人 3. 开始 3.1 什么是缓存穿透 其实通过上图我们可以知道&#xff0…

(七)Filter

Filter 表示过滤器,是JavaWeb 三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等等..一、Filte…

彻底理解Redis持久化

前言 大家都知道Redis一个内存数据库,它支持2种持久化方式:RDB(Snapshot 内存快照) ,AOF(append only file)。持久化功能将内存中的数据同步到磁盘来避免Redis发生异常导致数据丢失的情况。当Redis实例重启时,即可利用之前持久化的文件实现数…

软件项目管理教程

软件项目管理 1. 软件项目管理 1.1 概述 概念 项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力 软件项目特征 目标性 相关性 周期性 独特性 没有完全一样的项目”,项目的这种独特性对实际项目管理有非常重要的指导意义,因此…

跨境电商日本市场再创纪录,亚马逊失去流量第一位置

从跨境电商服务行业市场分析人员拿到的近期的各平台的销售数据和相关工作总结来看,美国市场微热,而反观欧洲市场则有些遇冷。 此外,近几年的疫情及各国相关政策并未影响到跨境电商市场的整体大好趋势,而伴随着疫情逐渐被控制&…

认真学习MySQL中的MVCC机制

什么是MVCC?MVCC(Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性操作有了保证。换言之&#…

Aspose.PDF for Java系列1-使用前说明

一、关于pdf文件说明 什么是pdf文件? PDF是Portable Document Format的缩写,用来以电子形式显示文档,不受软件、硬件或者操作系统的影响。 最初是由Adobe开发,是一种基于PostScript格式的通用兼容文件格式,现在已成为…

当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践

本文介绍了利用开源 API 网关 APISIX 加速 NebulaGraph 多个场景的落地最佳实践:负载均衡、暴露接口结构与 TLS Termination。 API 网关介绍 什么是 API 网关 API 网关是位于客户端和服务器之间的“中间人”,用于管理、监控和保护 API。它可以在 API 之…

GAMES101 现代计算机图形学入门

Lecture1 Overview of CG 计算机图形学概述Lecture2 Review of Linear Algebra 向量与线性代数Lecture3 2D Transformation 基础变换(二维)3.1 线性变换 (寻找变换前后直角坐标坐标关系)3.2齐次坐标 Homogeneous Coordinate3.3 仿射变换Affine Transform…

SpringBoot2核心技术(核心功能)- 05、Web开发【5.4 数据响应与内容协商】

4、数据响应与内容协商 1、响应JSON 1.1、jackson.jarResponseBody <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> web场景自动引入了json场景<dependenc…

在黑金zynqmp 上用emmc 启动的那些坑

缘由&#xff1a;由于硬件设计可能存在问题&#xff0c;导致sd 开启动失败&#xff0c;高速的时候&#xff0c;在建立VFS 时就会引起kernel 崩溃&#xff0c;官方的板子就正常&#xff0c;自己的板子第一版硬件可以&#xff0c;第二版就不行 思路&#xff1a;从emmc 启动 替代…

Hadoop 的基础知识

Hadoop 的基础知识1. Hadoop 简介2. Hadoop 的发展简史3. Hadoop 现状4. Hadoop 特性优点5. Hadoop 发行版本6. Hadoop 架构变迁7. Hadoop 集群集体概念1. Hadoop 简介 Hadoop 官网: https://hadoop.apache.org/ Apache Hadoop 软件库是一个框架, 是 Apache 软件基金会的一款开…

IoT 物联网将如何影响 SCADA ?

IoT 物联网将如何影响 SCADA &#xff1f;-钡铼技术 随着工业物联网&#xff08;IIOT&#xff09;或工业4.0的提出&#xff0c;未来工业自动化将是大势所趋&#xff0c;机器设备运行自动化&#xff0c;人不断被机器替代。那么&#xff0c;这些发展方向会对SCADA有什么影响&…

【DevOps:一、开始】

名词安全组类似于防火墙的设置&#xff0c;打开安全组&#xff0c;但要防止被当成矿机&#xff0c;需要设置主机的容器密码VPC专有网络&#xff0c;私有网络&#xff1a;VPC虽然网段相同&#xff1a;但资源物理层隔离&#xff0c;不能使用内网相互通Ipv4网段子网计数器容器平台…

产品设计表现技能的学习要点

在产品设计过程中&#xff0c;当你心中有创意设计时&#xff0c;你需要写下创意设计&#xff0c;并生成一个例子来总结你以前的想法。此时&#xff0c;您需要设计性能。在设计性能的过程中&#xff0c;我们需要使用各种设计工具&#xff0c;这些设计工具的应用技术和方法通常称…

玩以太坊链上项目的必备技能(内联汇编 [inline assembly]-Solidity之旅十八)

概要 大抵是讲到汇编&#xff0c;身为编程开发者的我们脑瓜子早就嗡嗡作响了。看那晦涩难懂的低级汇编代码&#xff0c;敢断言&#xff0c;那一行不是我写的&#xff0c;其他行也不是我写的。 自从C语言问世&#xff0c;而后类C语言犹如雨后春笋般地搅动着IT界&#xff0c;而…

【金猿人物展】实在智能创始人、CEO孙林君:我们为什么坚定在IPA方向努力?...

‍孙林君本文由实在智能创始人、CEO孙林君撰写并投递参与“数据猿年度金猿策划活动——2022大数据产业趋势人物榜单及奖项”评选。‍数据智能产业创新服务媒体——聚焦数智 改变商业充满“不确定性”的2022年即将过去&#xff0c;不确定性带来的不仅是挑战&#xff0c;还有新机…