修改了本地的代码,然后使用:

git add file
git commit -m '修改原因'

执行commit后,还没执行push时,想要撤销这次的commit,该怎么办?

解决方案:
使用命令:

git reset --soft HEAD^

这样就成功撤销了commit,如果想要连着add也撤销的话,--soft改为--hard(删除工作空间的改动代码)。

命令详解:

HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2

--soft
不删除工作空间的改动代码 ,撤销commit,不撤销git add file

--hard
删除工作空间的改动代码,撤销commit且撤销add

另外一点,如果commit注释写错了,先要改一下注释,有其他方法也能实现,如:

git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。

作者:旅行者xy
链接:https://www.jianshu.com/p/a9f327da3562
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

git commit后,如何撤销commit相关推荐

  1. 【git commit 后出现“Aborting commit due to empty commit message“】,修改编辑器

    [git commit 后出现"Aborting commit due to empty commit message"],修改编辑器 在使用git commit的时候,git c ...

  2. git merge后如何撤销

    merge后发现冲突太多,或者合并的分支代码并不是最新,那就直接撤销再合并好了. git reset --hard HEAD 用来撤销还没commit 的merge,其实原理就是放弃index和工作区 ...

  3. Git之Sourcetree的commit后回滚

    问题 当进行了commit后  如何撤销commit呢 现状 操作 选择重置那行即可 选则之后就会到了撤销"测试回滚" 的状态 测试回滚的提交就会被取消了  提交的代码重新回到本地 ...

  4. git commit之后,想撤销commit

    原文 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: ...

  5. git个人使用总结 —— idea命令行、撤销commit (未完待续)

    近期在使用git,最开始在idea界面操作,后来要求用命令行.刚开始还不是很习惯,感觉很麻烦,用了几天后感觉爽极了! 其实git的命令也不是很多,熟悉一段时间就差不多能顺利使用了.使用过程中遇到了各种 ...

  6. Git 实用操作 | 撤销 Commit 提交

    有的时候,改完代码提交 commit 后发现写得实在太烂了,连自己的都看不下去,与其修改它还不如丢弃重写.怎么操作呢? 使用 reset 撤销 如果是最近提交的 commit 要丢弃重写可以用 res ...

  7. git commit撤销_Git 实用操作:撤销 Commit 提交

    有的时候,改完代码提交 commit 后发现写得实在太烂了,连自己的都看不下去,与其修改它还不如丢弃重写.怎么操作呢? 使用 reset 撤销 如果是最近提交的 commit 要丢弃重写可以用 res ...

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

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

  9. 撤销commit且未push操作的git命令

    2019独角兽企业重金招聘Python工程师标准>>> 在git push的时候,有时候我们会想办法撤销git commit的内容  1.找到之前提交的git commit的id  ...

  10. git撤销commit

    写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: gi ...

最新文章

  1. python 画柱状图-python使用Plotly绘图工具绘制柱状图
  2. [LeetCode] 402. Remove K Digits Java
  3. thinkphp 助手函数url不生成https_如何用ThinkPHP框架写一个快递查询接口
  4. [Topic]Advanced Run Time Type Identification in C++
  5. Jsf + Spring + Hibernate项目中引用的包
  6. Uncaught (in promise) Error: Avoided redundant navigation to current location: “/index“. 解决方法
  7. 剑指offer1:二维数组中的查找
  8. 手把手教你开发chrome扩展
  9. 变量undefined详解
  10. 在线分析仪器(一)概述
  11. MapReduce处理流程wordCount源码解析和操作流程
  12. 2021年全球住宅电梯收入大约1534.2百万美元,预计2028年达到1957.3百万美元
  13. 《国际名酒知识与品鉴》学习笔记
  14. 微信PC端测试版更新:新增视频号直播工具
  15. OutputFormat类——Hadoop
  16. 微商潮牌怎么引流?成功的人不是赢在起跑点
  17. 详解windows10安装失败怎么办
  18. 项目进度没有把控好,被领导足足骂了10多分钟,吭都不敢吭一声
  19. initramfs详解-----初识initramfs
  20. Linux Mint (应用软件— 二进制文件编辑器 :bless)

热门文章

  1. Android窗口管理服务WindowManagerService显示Activity组件的启动窗口(Starting Window)的过程分析...
  2. 小弟浅谈asp.net页面生成周期---上
  3. Hive——元数据表含义
  4. 集腋成裘-13-git使用-02进阶篇
  5. BZOJ1079 [SCOI2008]着色方案 【dp记忆化搜索】
  6. html 压缩工具 html-minifier
  7. asp.net开源项目及学习资料
  8. ARG MIN的含义是什么?
  9. c++ pair类型的基本问题
  10. VS2008中openGL开发环境配置