2019独角兽企业重金招聘Python工程师标准>>>

在git push的时候,有时候我们会想办法撤销git commit的内容 
1、找到之前提交的git commit的id 
git log 
找到想要撤销的id


2、git reset --hard id 
完成撤销,同时将代码恢复到前一commit_id 对应的版本


3、git reset id 
完成Commit命令的撤销,但是不对代码修改进行撤销

还有一种方式

git reset --soft HEAD^

仅仅是撤回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编辑器,修改注释完毕后保存就好了。

转载于:https://my.oschina.net/lienson/blog/2986640

撤销commit且未push操作的git命令相关推荐

  1. Git——远程管理版本操作(Tortoise(小乌龟)图形化操作、git命令行操作)

    一.Tortoise 图像化操作: 1.克隆项目(即从github仓库拉取项目文件): 2.暂存区: 添加到暂存区: (1)新建一个文件 (2)右键选择子选项 ->[添加](3)勾选为被控制文件 ...

  2. docker提交容器成一个新的镜像commit和push,以及docker常用命令

    docker自己提交配置好的容器,然后生成一个新的镜像,以后启动就以配置好的镜像作为模板启动 代码如下: docker commit -a "author" -m "co ...

  3. git 撤销全部的commit_git如何撤销commit的方法(未push)

    撤销commit一般用git reset ,语法如下: git reset [ --mixed | --soft | --hard] [] 1.使用参数--mixed(默认参数),如git reset ...

  4. macos安装git命令行_MAC OS git客户端安装及操作

    1. 下载安装mac os 版本的git客户端及相关可视化软件 1.1 从git官网上下载匹配的git客户端.pkg格式的包,然后在系统偏好设置-> 安全性与隐私中打开系统默认禁止安装的这个程序 ...

  5. idea git commit之后,想撤销commit,实操

    关于 -- 有人提出的这个疑问 "我想大部分人都是想回退到commit之前代码还在修改状态的状态,按照文章的顺序读下来直接就照着操作会丢失代码,博主还是改一下内容顺序吧,太有歧义了.&quo ...

  6. Git切换远程分支,以及后续的pull和push操作

    引言: 今天我们公司的gitlab的远程仓库换地址了.然后就查阅操作了一波切换远程仓库的命令.以下命令虽然不是最佳.到但是是可以用的(过滤了一些查阅出来的无效的命令).因为我就是这么用的 # 查看当前 ...

  7. Git命令的使用记录及常见的错误解决方式

    Git 前言 仓库(repository) git文件颜色 git clone git branch git tag git log git reflog git pull git add git c ...

  8. 【Git】git命令结合场景使用手册

    git命令手册 原理图示意 1.超常用基础命令 1)初始化仓库 git init 2)将工作区内容添加到暂存区 3)将暂存区的内容提交到本地仓库 4)拉取远程仓库代码到本地仓库 fetch/clone ...

  9. 熟悉git命令的小游戏

    可以根据下面的两个教程来系统学习. 猴子都能懂的 git 入门 廖雪峰的 git 教程 如今,Git 大行其道,颇有一统天下之势. 如果你的技能树上 Git 和 Github 的图标还没有点亮的话,你 ...

最新文章

  1. 求助大神!怎样除去XML节点反复的值的数据
  2. 服务器暴力破解的程序(python开发)
  3. mybatis实体类注解_SpringBoot2.x系列教程43--整合使用Mybatis
  4. php面试题2018
  5. Linux文件系统及属性
  6. 软件工程 - 团队重组
  7. Node.js Domain 模块
  8. 关于访问远程服务器的一些基本操作
  9. MathType7新版本数学公式编辑器上线功能特性
  10. matlab简单几何图形的识别代码,MATLAB识别几何图形
  11. C语言程序确定闰月,怎样计算闰月
  12. 【Books系列】2022年:《拼职场》读书笔记
  13. HNOI 2018 滚粗记
  14. MOOC单片机原理及应用题库大全
  15. det3d python setup.py build develop
  16. kubernetes-准入控制器-13
  17. 云计算与大数据技术应用 第三章
  18. IPRAN 网络结构图
  19. 和互联网公司服务器有关的一些情况
  20. 奕新集团RAC 11g 生产库环境(待完善无图)

热门文章

  1. 计算机的cpu怎么设计出来的,CPU是如何制作出来的?cpu的制造流程介绍
  2. 对Vue生命周期的一些简单见解
  3. html5转换成mp4视频,HTML5的canvas动画转视频MP4
  4. worker进程和task进程区别_worker进程和task进程区别_Storm概念学习系列之Worker、Task、Executor三者之间的关系......
  5. NodeJS自定义包和模块的导入(require)、导出(exports)
  6. 如何linux网页修改回80端口,linux下如何修改iptables开启80端口
  7. java字符排序_如何按字母顺序对字符串进行排序java
  8. linux 优盘分区,怎么在Linux系统下使用NTFS的U盘或者是分区以及移动硬盘-使用工具NTFS-3G...
  9. unity运行环境_LG电子与Unity合作仿真软件 加速研发更安全的自动驾驶汽车系统...
  10. ueditor 覆盖下拉框问题解决