一.使用IntelliJ idea

VSC => Git

=> reset head

=> 退回到上次commit

=> 退回到第2次提交之前

=> 退回到指定commit版本

Reset Type 有三种:

Mixed 默认方式,只保留源码,回退 commit 和 index 信息。
Soft 回退到某个版本,只回退了 commit 的信息,之前写的代码还是保留的,不会恢复到 index file 一级。如果还要提交,直接 commit。
Hard 彻底回退,本地源码也会变成上一个版本内容,不保留之前 commit 的代码

To Commit 是回滚到哪个版本,例如,HEAD 为当前版本,HEAD^ 为上一个版本;
使用 git reset 回滚一般使用默认的 mixed 或者粗暴的 hard 方式;

二.使用git命令

写完代码后,我们一般这样
git add . //添加所有文件
git commit -m “本功能全部完成”

执行完commit后,想撤回commit,怎么办?

git reset --soft HEAD^
git reset HEAD~

这样就成功的撤销了你的commit
注意,仅仅是撤回commit操作,您写的代码仍然保留。

说一下个人理解:
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2

至于这几个参数:
–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

–soft
不删除工作空间改动代码,撤销commit,不撤销git add .

–hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

git撤回已经commit未push的操作相关推荐

  1. IDEA使用(03)_git撤回(已经commit未push的)操作

    1.问题来源 日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后再提交到本地,或者需要整合多次 commit,然后 push 到远程仓库. 2.IDEA解决方案 I.在idea ...

  2. Git 删除本地commit未push文件 ,push本地commit文件

    1,起因 在push文件的时候, push了一个大家伙,有400M, 但是push要求单个文件大小不能超过200M 所以,这个大家伙已经进行本地commit,但又不能push上去, 导致在这之后需要p ...

  3. Git commit/pull/push的操作步骤

    1.操作步骤需要严格执行如下顺序:commit->pull->push 2.commit:将代码提交到本地仓库. 3.pull:将远程仓库代码同步到本地仓库.如遇冲突,解决冲突,重复com ...

  4. git 撤销修改:未push 、已push

    场景:不小心把一次错误的代码push到远程服务器上的分支上,需要立即删除/撤销这次代码提交. 具体方法,git命令: git log git reset --hard <commit_id> ...

  5. git撤回上一次push

    描述 我们有时候误提交代码需要回滚到上一个版本,需要通过git命令重新提交处理 过程 1. 重置到提交前的版本 git reset 命令用于回退版本,可以指定退回某一次提交的版本. git reset ...

  6. [超详细] Git 远程仓库及回滚日志操作

    一.远程仓库基本操作 1.拿到仓库地址(以GitEE为例): 2.初始化Git: 使用命令:git init 在准备存放的文件夹里使用命令git init进行初始化,也就是把这个文件夹变成git专属文 ...

  7. 文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突

    问题描述:文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突 解决方法:出现上述情况时,我们要先将文件从本地仓库中拉 ...

  8. IDEA git 代码已经commit,但未 push推送,如何撤销提交缓存区代码

    记录自己提交代码时,手滑错误commit了多余的文件,但未push到云端,想要撤回整个commit的操作: idea菜单栏上的 VCS–>Git–>Reset HEAD- 出现如下弹框: ...

  9. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

最新文章

  1. 负数对2取余_不同语言的负数取余问题
  2. Tengine(nginx) 搭建Tomcat集群
  3. Lintcode 973 解题思路及c++代码
  4. JDK1.8源码(六)——java.util.LinkedList 类
  5. 在sqlplus中操作blob和clob
  6. Android Studio快捷键之代码提示
  7. 史上最惨锦鲤即将来袭!奖品堪比5年高考3年模拟!
  8. __name__ == '__main__'的用法
  9. 10.2.0.3.0 oracle导出,oracle 数据库从10.2.0.4升级到11.2.0.3
  10. 解决 安装或卸载软件时报错Error 1001 的问题
  11. Python+Selenium开发工具安装及下载
  12. Anaconda-Navigator无法打开
  13. Android TV开发总结【适配】
  14. GAMES101 13节 光线追踪 笔记
  15. android studio app字体大小设置,Android Studio App设置TextView文字内容大小颜色
  16. 如何让计算机显示器满屏,电脑显示器满屏条纹的解决方法
  17. Substance Painter里 AO贴图 烘焙黑图 原因
  18. OPENMV羽毛球识别
  19. linux 磁盘操作
  20. Excel函数(五)- 超有用的count系列函数count、counta、countif、countifs

热门文章

  1. 问题解决:Ubuntu 磁盘空间占满如何清理
  2. 解决onenote绘图内置笔无压感问题
  3. win10远程桌面连接_Win10这隐藏功能太良心!远程解决电脑问题神器“快速助手”...
  4. AppConfig增加IsEnumToInt配置
  5. vue中局部页面跳转_vue使用感受(二)组件间跳转
  6. 语言的魅力:斡旋的力量(二)
  7. EXCEL 对数据分列
  8. 迅雷再见!在全球交友网站Github,找到的6款神软件
  9. 高中可以学计算机吗,我是一名高中生想学计算机专业请问有前途吗?
  10. QQ邮箱漂流瓶功能将于明天正式关闭