【GIT】idea中实用的git操作,撤回commit,撤回push、暂存区使用

2024-08-29 05:52

本文主要是介绍【GIT】idea中实用的git操作,撤回commit,撤回push、暂存区使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IDEA中最常见的UI操作:【GIT】Idea中的git命令使用-全网最新详细(包括现象含义)

文章目录

  • 问题一: idea撤回仅commit错误的代码(仅本地仓库,因为还没推送到远程)
  • 问题二: idea撤回Commit and push的代码 (包括本地、远程仓库)
  • 问题三:push之后发现本地和远程仓库的代码都没了,如何恢复
  • 问题四:发现自己写的代码写错了分支怎么搞-暂存区的使用

问题一: idea撤回仅commit错误的代码(仅本地仓库,因为还没推送到远程)

这种针对于未push的,只是commit的操作

相信我们在开发过程中经常遇到commit代码后,发现还有需要修改的地方又不想多次commit,此时如果不想敲git命令,可以利用idea实现commit撤回,如下操作

例如我们开发以下代码
在这里插入图片描述

此时commit提交、commit成功
在这里插入图片描述
在这里插入图片描述

接下来操作 利用idea撤回commit

步骤1 :找到分支的log记录,下面就是这条记录啦
在这里插入图片描述
步骤2:右键commit记录,点击undo commit

在这里插入图片描述
在这里插入图片描述

步骤3:看日志和文件课件commit已撤回,
修改标识又从新显示出来了!

在这里插入图片描述
至此 撤销commit成功;

问题二: idea撤回Commit and push的代码 (包括本地、远程仓库)

这种针对于commit了而且push了的,如果撤销掉本地的和远程的。

还是上条代码push到远程分支后想撤回

制造条件,先将刚刚的代码push到远程;
对于刚刚undo commit的修改,有时会因为IDEA反应的问题,导致你再提交显示不出来,如下图
在这里插入图片描述
点击后,没识别到修改的这行代码和文件。我们可以到下面的changes List中去找,在右键Commit File就能找到,再提交即可。
在这里插入图片描述
推送远程
在这里插入图片描述
在这里插入图片描述

接下来步入正题:
步骤1: 选择本地仓库commit记录,右键,选择revert commit ,
操作之后,此时可见本地的代码中上次提交已经消失
在这里插入图片描述
但是这个时候只是撤销了本地仓库的代码,远程分支代码还是commit之后的(还是存在已经push的代码的),
在这里插入图片描述

**步骤2:**见下图,本地没了之后,我们需要再把没了之后的代码先Commit,再push一下,
在这里插入图片描述
此时选择push即可撤销远程分支提交,
在这里插入图片描述
先conmmit然后push之后,远程的结果,见下图:
在这里插入图片描述
在这里插入图片描述
来看一下远程: 已经没了之前错误提交的那行代码了。
在这里插入图片描述
OK,至此对于push错误的代码恢复已经完成啦~

问题三:push之后发现本地和远程仓库的代码都没了,如何恢复

这个暂时还未遇见这样的问题;待验证,各位小伙伴如果有补充,请积极评论哈。

push之后发现本地和远程仓库的代码都没了,那不白写了真难受,不要急也有办法,此时还是在本地的commit记录中找到之前commit的记录,右键点击Cherry-pick即可恢复之前commit的代码
在这里插入图片描述
如果在第二个问题的操作之后,又想对刚刚去掉的代码进行恢复了,直接选中revert 的记录,点击再次revert commmit,也就是以当前为基础,按照第二个问题操作就行。
在这里插入图片描述
在这里插入图片描述

问题四:发现自己写的代码写错了分支怎么搞-暂存区的使用

不要急,点击右键,首先stash刚才的修改代码
在这里插入图片描述
在这里插入图片描述

暂存成功
在这里插入图片描述
然后就能切换分支了; 点击右键,再unstash即可
在这里插入图片描述
此时代码已经来到了切换的分支。

至此,经常遇见的问题总结完毕,希望能帮到各位,ღ( ´・ᴗ・` )比心

这篇关于【GIT】idea中实用的git操作,撤回commit,撤回push、暂存区使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117024

相关文章

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA