【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

相关文章

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

使用Python实现一个优雅的异步定时器

《使用Python实现一个优雅的异步定时器》在Python中实现定时器功能是一个常见需求,尤其是在需要周期性执行任务的场景下,本文给大家介绍了基于asyncio和threading模块,可扩展的异步定... 目录需求背景代码1. 单例事件循环的实现2. 事件循环的运行与关闭3. 定时器核心逻辑4. 启动与停

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm