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

用idea操作git缓存区回退、本地库回退、远程库回退

前言

使用idea软件操作git非常人性化和方便。

但是如果我的代码使用git提交之后,我想回到以前的版本,此时需要进行git的版本回退。

提交代码分为提交到缓存区、本地库、远程库这3个过程。

下面我将介绍每个阶段的提交对应的回退方法。

本篇文章是掌握git和使用idea操作git的基础为前提的。

如果对使用idea软件操作git的常用操作方法不熟练,请参考我以前的文章:

git的安装和常用的命令-CSDN博客

git常用操作 --- idea编译器 --- 公司实战版-CSDN博客

用idea操作git分支合并 或者 只对自己的提交合并-CSDN博客

git提交时忽略指定文件 和 合并分支时忽略特定文件-CSDN博客

目录

用idea操作git对缓存区代码回退

 用idea操作git对本地库代码回退

第一种使用Undo Commit

Undo Commit回退的缺点

第二种使用Revert Commit

Revert Commit回退的缺点

用idea操作git对远程库代码回退


用idea操作git对缓存区代码回退

举个例子

如果我要对在git缓存区的gitTest文件做一个回退,让它退回到本地状态

首先要打开这个gitTest文件,点击右上角的回退键就把gitTest文件到本地状态了

idea编译器中,文件在git缓存区是绿色的,文件是在本地是红色的

 

用idea操作git对本地库代码回退

在git本地库但是没有推送到远程的代码,回退到git缓存区有两种方式

第一种使用Undo Commit

直接回退,就跟没有发生过一样

打开需要回退的代码提交记录,右键点击Undo Commit

Undo Commit回退的缺点

        只能回退最近一次的提交

第二种使用Revert Commit

本质上是进行了一次相反的代码修改提交

举个例子

我现在想把git测试4这次提交的本地库代码回退到缓存区

回退之后会出现一次回退的提交,可以对提交记录的任意一条进行回退,因为中间的提交记录肯定和后面的提交记录有联系,一半不要尝试,因为代码都是循序渐进写的,这样孤零零的回退中间一条记录肯定会出现代码冲突的,一旦代码冲突后面非常麻烦,所以不要轻易尝试哟

Revert Commit回退的缺点

        本质上还是一次提交,只是对代码进行了相反的提交,严格来说不是真正的回退,而且这样回退之后一定要提交一次的,因为git上面有记录了,后续再进行Revert Commit回退有可能出现报错

用idea操作git对远程库代码回退

远程库代码是本质上是不能回退的

但是可以巧妙的时候Revert Commit回退的特点,对代码再做一次相反的提交并推送到远程库从而实现远程库代码回退的效果

举个例子

回退 git测试3 这次提交,这次提交是已经推送到远程库了

首先使用Revert Commit进行代码的回退,就是再提交一次把 git测试3 这次提交的代码修改回去,只不过是使用Revert Commit进行一键修改了

点击之后此时出现一次和  git测试3提交记录   相反的提交

然后把这次相反的提交同步到远程仓库,从而实现远程仓库对git测试3这次提交的代码还原

http://www.lryc.cn/news/571631.html

相关文章:

  • Oracle client 静默安装
  • 【八股消消乐】构建微服务架构体系—一致性抽象
  • react 自定义状态管理库
  • sql_mode(二)宽松模式和严格模式的区别
  • CHASE、CoSQL、SPARC概念介绍
  • 以list为输入条件,查询数据库表,java中的mapper层和mybatis层应该怎么写?
  • 裸金属服务器深度评测:云计算时代的性能与安全担当​​​​
  • centos 7单机安装ceph并创建rbd块设备
  • 博世X阿里云:智能座舱接入通义大模型!
  • MYSQL进阶超详细总结2.0
  • CppCon 2017 学习:CNL: A Compositional Numeric Library
  • Zephyr 高阶实践:彻底讲透 west 构建系统、模块管理与跨平台 CI/CD 配置
  • 微信小程序-数据加密
  • 数据结构 栈与队列 6.18
  • Vue3 × DataV:三步上手炫酷数据可视化组件库
  • Matplotlib快速入门
  • 2D写实交互数字人:让AI形象拥有“真人温度“的技术革命
  • 《HTTP权威指南》 第1-2章 HTTP和URL基础
  • C#实现图片文字识别
  • 【Pandas】pandas DataFrame unstack
  • LVS+Keepalived高可用群集
  • 【请关注】真实案例pg及kong安装部署
  • CppCon 2017 学习:C++ in Academia
  • GNU Octave 基础教程(2):变量与数据类型详解(一)
  • 技术与情感交织的一生 (八)
  • Git中新创建分支是否为空?这可得视情况而定!
  • JVM-类加载机制
  • 论文笔记 <交通灯><多智能体>MetaLight:基于价值的元强化学习用于交通信号控制
  • 20.jsBridge多页面交互与原生事件监听冲突问题
  • 锂电池充电管理芯片XSP30 适用于2-3节串联锂电池升降压快速充电