有的时候我们将某次修改commit了之后,突然想在其中某个文件中加点注释或去掉一些调试的log,但是又不想增加commit记录,那该怎么做呢?

reset参数

 -q, --quiet           安静模式,只报告错误--mixed               重置 HEAD 和索引--soft                只重置 HEAD--hard                重置 HEAD、索引和工作区--merge               重置 HEAD、索引和工作区--keep                重置 HEAD 但保存本地变更-p, --patch           交互式挑选数据块
下面以mixed参数为例

① 第一种情况:已commit但未push
git log查看commit记录

software006@software005:~/workdir/xxx-xxx$ git log
commit 8030dafb5fb9385f8f08e823de3a83519e0d6442
Author: xxx <xxx.com>
Date:   Wed Oct 21 11:52:18 2020 +0800git testcommit 5eb959980dc3f76e1238de0f249497e18ce61f4b
Author: xxx <xxx.com>
Date:   Wed Oct 21 11:51:10 2020 +0800git test1

使用命令撤销:git reset --mixed HEAD~1或者git reset --mixed HEAD^

software006@software005:~/workdir/xxx-xxx$ git reset --mixed HEAD~1
重置后取消暂存的变更:
M   frameworks/base/api/current.txt
M   frameworks/base/api/system-current.txt
M   frameworks/base/api/test-current.txt
M   packages/apps/Launcher3/src/com/android/launcher3/Launcher.java

再次Git log查看

software006@software005:~/workdir/xxx-xxx$ git log
commit 5eb959980dc3f76e1238de0f249497e18ce61f4b
Author: xxx <xxx.com>
Date:   Wed Oct 21 11:51:10 2020 +0800git test1

对比可以看出,最新一次的commit信息不存在了,Git status查看

software006@software005:~/workdir/xxx-xxx$ git status
位于分支 xxxx
您的分支与上游分支 'xxxx' 一致。尚未暂存以备提交的变更:(使用 "git add <文件>..." 更新要提交的内容)(使用 "git checkout -- <文件>..." 丢弃工作区的改动)修改:         frameworks/base/api/current.txt修改:         frameworks/base/api/system-current.txt修改:         frameworks/base/api/test-current.txt修改:         packages/apps/Launcher3/src/com/android/launcher3/Launcher.java未跟踪的文件:(使用 "git add <文件>..." 以包含要提交的内容)build.logout/修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

②第二种情况:已push
如果是已经push到远程,也是上面同样的操作,但是push到远程时要加上-f

git push origin 分支名 -f

简单来说就是
–mixed参数,不删除工作区改动代码,撤销git commit,撤销git add
–soft参数, 不删除工作区改动代码,撤销git commit ,不撤销git add
–hard,–merge, 删除工作区改动代码,撤销git commit,撤销git add,直接恢复到上一次的commit状态

[Git]如何撤销上次commit相关推荐

  1. git 撤销上次commit提交

    git撤销上次commit提交(还在本地) 1.git reset --soft head~1 (撤销上一次commit, 不会撤销git add) 2.git reset head~ (撤销上一次c ...

  2. git 撤销上次提交 commit

    当我们写完代码后,我们一般都是 git add . // 添加所有文件 git commit - m "xxxxxx" 当我们git commit完之后,还没有执行git push ...

  3. Git的撤销操作 git commit --amend

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...

  4. git commit撤销_Git commit 提交一堆记录?试试撤回 commit 操作,你会爱上它

    在项目开发中, git-commit 未 push 的代码,我们可能需要合并或者重新修改再 commit,避免提交记录过多.下面我们盘盘在 IntelliJ idea 不通过命令如何撤销操作?使用 g ...

  5. Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

    Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...

  6. Git操作之 git add 撤销、git commit 撤销

    1.git add 添加多余文件 撤销操作 git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行 ...

  7. git撤销本地commit、撤销本地merge

    写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "代码提交" //提交代码 执行完commit后,想撤回commit,怎么办? 使用下面 ...

  8. git add 撤销git commit 撤销

    一.git add 撤销 撤销add的指定文件: git reset HEAD 文件路径 git reset HEAD src\components\question\single 二.git com ...

  9. 【Git】撤销已经git add的文件

    参考文章:git commit和git add的撤销 如果不想提交某个文件,比如DBConfig.py,但是不小心git add了这个文件,想要撤销add的话,不要用git rm --cached D ...

最新文章

  1. [转] asp.net core Introducing View Components
  2. python wxpython backend wxagg_[宜配屋]听图阁
  3. Hyperledger Fabric Rest API服务开发教程【含源码】
  4. c# java gt;gt;gt;,相同的字节数组=gt; Java和C#中的不同BigInteger值
  5. 分析:合格的UTM设备评判与选择
  6. 使用Arquillian和LocalStack脱机测试AWS云堆栈
  7. Linux shell逐行读取文件的方法-比较
  8. WinFrm程序使用的图片展示控件.带删除的
  9. excel删除行 uipath_高级会计师都在用的Excel批处理技巧,祝你早日告别加班
  10. 【交通标志识别】基于matlab SIFT交通标志识别【含Matlab源码 717期】
  11. Struts2的面试问题(一)
  12. 【R】ggplot2_堆积图
  13. 考研,我就推荐几个常用的APP
  14. 金蝶系统怎么清理服务器,“破坏王”教你如何彻底卸载金蝶kis专业版
  15. 综述国内外三维视觉测量系统的发展现状
  16. python数列求和_python练习--数列求和
  17. 说说我是如何拿下腾讯offer的
  18. c 循序结构程序设计
  19. 如何观察一棵树 - 笔记
  20. 金陵科技学院计算机分数,2018金陵科技学院录取分数线

热门文章

  1. Pandas武功修炼秘籍(第一章:初见端倪)
  2. 自然语言处理的一些工具
  3. 详述 MIMIC 数据库 26张数据表(二)之 五种字典表
  4. js vue 下载excel(.xls)文件
  5. DHCP的原理与配置
  6. 从wolai转移到Notion
  7. 阿里巴巴暑期实习用户体验研究员 面试经验+总结
  8. 安卓手机软键盘弹起的问题
  9. 计算机名改了怎么恢复,手把手练习win10系统改计算机名和工作组的恢复技巧
  10. Windows10安装Centos7双系统