git如何撤销commit(未push)

news2024/11/29 0:50:31

文章目录

  • 前言
  • undo commit
  • reset current branch to here

Undo Commit,Revert Commit,Drop Commit的区别

是否删除对代码的修改是否删除Commit记录是否会新增Commit记录
Undo Commit不会未Push会,已Push不会不会
Revert Commit不会
Drop Commit未Push会,已Push不会不会

前言

某次在idea中执行commit后(未push), 发现提交代码错误了想撤回,此篇文章整理这种情况下如何撤回。

如下图:(commit提交了一次测试记录(未push),新增了Test.java文件)
在这里插入图片描述

undo commit

适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改不想提交本次记录了。这时可以进行Undo Commit,修改后再重新Commit。

如果已经进行了Push,线上的Commit记录还是会存在的

简单来说,就是撤销了你Commit的这个动作。详细解释下:

1、首先,对项目进行了代码修改,然后进行commit操作。
在这里插入图片描述

2、确认Commit之后(未进行push)
在这里插入图片描述
3、进行Undo Commit操作
右键要撤销的记录,选择undo commit
在这里插入图片描述

在这里插入图片描述

执行后和未Commit之前完全一样, 而且commit记录也没了
在这里插入图片描述

reset current branch to here

适用情况:已commit未push

右键错误记录的上一次记录,然后选择reset current branch to here,选择Mixed
在这里插入图片描述
在这里插入图片描述
撤销后会把commit记录删除掉,提交的文件进入到Unversioned Files目录中
在这里插入图片描述

  • Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。
  • Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。
  • Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。
  • Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。

keep和hard撤销后会把文件也删除掉,强烈建议不要使用或者慎用

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

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

相关文章

看看去年蓝桥考了什么,第十三届蓝桥杯省赛(C/C++ 大学B组)题解

文章目录 A:九进制转十进制问题描述运行限制题目思路代码演示 B:顺子日期问题描述运行限制题目思路代码演示 C:刷题统计问题描述评测用例规模与约定运行限制题目思路代码演示 D:修剪灌木问题描述评测用例规模与约定运行限制题目思…

【广州华锐互动】VR地铁消防逃生路线演练系统

随着城市轨道交通的不断发展,事故应急演练的重要性也越来越受到重视。而VR技术的应用,为地铁消防逃生路线演练带来了许多亮点,包括以下几个方面: 首先,VR技术可以提供高度真实的模拟场景。在传统的事故应急演练中&…

t-date-time-picker如何默认当前年月

打开小程序展示当前年月,效果图如下 实现方法:使用new Date().toISOString().slice(0, 7)截取7位即可

卡尔曼滤波:再也不用瑟瑟发抖了

本文来自公众号“AI大道理” —————— 目标跟踪中,在数据关联后往往要进行卡尔曼滤波。 数据关联算法得到了每个目标的观测数据。 卡尔曼滤波使用关联的观测数据来估计目标的状态,并预测目标的未来位置和速度等信息。 目标跟踪过程中,…

0基础学习VR全景平台篇 第62篇:基本功能-如何发布VR视频

戳我先了解“全景视频上传规范” 1、点击【上传】按钮,打开本地文件夹,上传符合要求的全景视频素材,可以选择单个或多个视频同时上传。 2、视频上传成功以后,需要处理一段时间,请耐心等待。 视频处理好以后&#xff0…

编程语言有哪些?介绍常见的编程语言

(又是水文章的一天):) 在当今数字化时代,编程语言成为了连接人类与计算机的关键工具。无论是网页开发、移动应用程序还是大规模软件开发,选择合适的编程语言对于开发人员来说至关重要。本文将介绍一些常见的…

Cesium-源码打包1.106

在有Cesium源码打包的需求下,可以这样进行, 1.106的源码目录结构如下: 1.在下载的源码目录中运行 npm install 出现node_modules文件夹,然后我们就可以根据需求去修改源码,本文用的版本是1.106, packag…

C语言--动态内存管理(图解)

文章目录 C程序的内存开辟为什么存在动态内存分配动态内存分配函数malloc和freecallocrealloc 常见的动态内存错误对空指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释…

浅析电力企业一体化云运维管理平台

摘要:电力的发展,关系着我国社会和谐和稳定,在当今科学技术不断向前发展的时代,在电力企业发展中须要结合现今的科学技术,保证电力企业的信息化建设水平能够符合时代的发展趋势。本文主要分析当前电力企业一体化云运维管理的重要性,并就云运维管理中存在的问题进行有…

Spring 6【BeanFactory代码演示、实例化Bean的两种方式】(三)-全面详解(学习总结---从入门到深化)

目录 六、BeanFactory代码演示 七、实例化Bean的两种方式 六、BeanFactory代码演示 上面的案例代码就是我们平时使用Spring Framework的代码。 为了让小伙伴们能感受到BeanFactory,我们还是用实际代码来进行演示一下。毕竟 ApplicationContext在牛,对…

hadoop学习之hdfs学习

HDFS 文件系统,可以说是分布式数据库吧 结构是 目录树 适用场景:一次写入,多次读出.好像不太支持改删 优点: 1.高容错: 因为他会备份,所以一份出问题了,并不影响其他几份 如果副本丢失后,定时恢复.应该是定时检查然后恢复 每次启动,DN向NN汇报备份的存储情况.默认每个6个小时重…

波奇学Linux:git和gdb调试

git用来版本控制,同样是版本控制的软件还有svn等。 git的特定是具有网络功能的版本控制器,开源,client和server是一体的。(去中心化分布式管理) client和server一体意味着远程仓库和本地仓库是平等地位,远程仓库是特殊的仓库而已…

rtmp推流

目录 1、解压代码工程2、进入工程文件夹3、修改Makefile中的交叉编译路径4、编译5、板子上6、window上打开ffplay进行拉流注意:推流之前要先搭建好nginx服务器 1、解压代码工程 sudo unzip ffmpeg_rv1126_network_project_mark_finally.zip 2、进入工程文件夹 cd ffmpeg_rv…

AudioFocus源码分析

使用情景 在音视频app开发中一般会遵循音频焦点的机制,播放时申请音频焦点,丢失焦点后暂停播放,恢复焦点后继续播放等。尤其在车载开发时,涉及到三方应用和自研应用,导致经常出现音频焦点混乱混音等问题。 private f…

分享几个不常用的web api

分享几个不常用的web api 屏幕捕获 顾名思义&#xff0c;屏幕捕获 API 允许我们捕获屏幕内容&#xff0c;从而使构建屏幕录制的过程变得轻而易举。 在示例中我们使用video标签来显示捕获屏幕内容。 <video id"preview" autoplay>不支持HTML5 </video>…

Jmeter(119)-函数threadNum妙用

今天的接口场景是&#xff1a;有N个用户需要每隔5秒去查询一次数据&#xff0c;也就是说N个用户会去循环执行同一个接口。一开始的时候将用户参数化时使用了counter&#xff0c; 要执行2个线程3次循环&#xff0c;发现每次循环时&#xff0c;接口中用户参数的数据就会不一样&am…

统计页面左右+上下自适应布局

1:如果需要调整分栏数量,那么只需要删除对应数据,修改百分比即可. <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css" lang"less" >body{margin: 0px ;}.box…

2.1Label Button 标签和按钮

2.1Label & Button 标签和按钮 窗口主体框架 每一个 tkinter 应用的主体框架都可以包含下面这部分. 定义 window 窗口 和 window的一些属性, 然后书写窗口内容, 最后执行window.mainloop让窗口活起来. import tkinter as tkwindow tk.Tk() window.title(my window) wind…

【C语言高阶篇】成为编程高手必学内容,程序中的动态内存分配我不允许还有人不会!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《快速入门C语言》《C语言高阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言&#x1f4ac; 为什么存在动态内存分配&#x1f4ac; 动态内存函数的介绍1️⃣ 动态内存函数 malloc&#…

西门子PLC上位机测试

上一篇我们讲了三菱PLC的数据通信方法&#xff0c;今天我们讲讲另外一个PLC巨头--西门子。 西门子有很多系列&#xff0c;今天讲到的是用S7协议的S71200。西门子同样提供了丰富的集成库&#xff0c;例如S7.NET&#xff0c;对于C#上位机开发&#xff0c;是非常容易的事情。 首…