[Git]如何撤销上次commit
有的时候我们将某次修改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相关推荐
- git 撤销上次commit提交
git撤销上次commit提交(还在本地) 1.git reset --soft head~1 (撤销上一次commit, 不会撤销git add) 2.git reset head~ (撤销上一次c ...
- git 撤销上次提交 commit
当我们写完代码后,我们一般都是 git add . // 添加所有文件 git commit - m "xxxxxx" 当我们git commit完之后,还没有执行git push ...
- Git的撤销操作 git commit --amend
在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...
- git commit撤销_Git commit 提交一堆记录?试试撤回 commit 操作,你会爱上它
在项目开发中, git-commit 未 push 的代码,我们可能需要合并或者重新修改再 commit,避免提交记录过多.下面我们盘盘在 IntelliJ idea 不通过命令如何撤销操作?使用 g ...
- Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库
Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...
- Git操作之 git add 撤销、git commit 撤销
1.git add 添加多余文件 撤销操作 git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行 ...
- git撤销本地commit、撤销本地merge
写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "代码提交" //提交代码 执行完commit后,想撤回commit,怎么办? 使用下面 ...
- git add 撤销git commit 撤销
一.git add 撤销 撤销add的指定文件: git reset HEAD 文件路径 git reset HEAD src\components\question\single 二.git com ...
- 【Git】撤销已经git add的文件
参考文章:git commit和git add的撤销 如果不想提交某个文件,比如DBConfig.py,但是不小心git add了这个文件,想要撤销add的话,不要用git rm --cached D ...
最新文章
- [转] asp.net core Introducing View Components
- python wxpython backend wxagg_[宜配屋]听图阁
- Hyperledger Fabric Rest API服务开发教程【含源码】
- c# java gt;gt;gt;,相同的字节数组=gt; Java和C#中的不同BigInteger值
- 分析:合格的UTM设备评判与选择
- 使用Arquillian和LocalStack脱机测试AWS云堆栈
- Linux shell逐行读取文件的方法-比较
- WinFrm程序使用的图片展示控件.带删除的
- excel删除行 uipath_高级会计师都在用的Excel批处理技巧,祝你早日告别加班
- 【交通标志识别】基于matlab SIFT交通标志识别【含Matlab源码 717期】
- Struts2的面试问题(一)
- 【R】ggplot2_堆积图
- 考研,我就推荐几个常用的APP
- 金蝶系统怎么清理服务器,“破坏王”教你如何彻底卸载金蝶kis专业版
- 综述国内外三维视觉测量系统的发展现状
- python数列求和_python练习--数列求和
- 说说我是如何拿下腾讯offer的
- c 循序结构程序设计
- 如何观察一棵树 - 笔记
- 金陵科技学院计算机分数,2018金陵科技学院录取分数线