写完代码后,我们一般这样

git add .  //添加所有文件
git commit -m "代码提交"  //提交代码

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

使用下面命令即可撤回:

git reset --soft 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编辑器,修改注释完毕后保存就好了。

撤销本地合并(merge)

git merge --abort

撤销远程提交(push)

git reset --hard 撤销并舍弃指定的版本号之后的提交记录。使用需要谨慎。示例: git reset --hard 773b0e55ad81a55d2f964d530443931f25bce9d8
然后需要push到远程分支,但是直接git push, 是会报错的,因为本地版本落后于远程,需要强制push
强制push 执行 git push -f 命令,然后查看本地和远程分支,可以看到我们的commit提交的那个版本没有了,版本回退到了提交之前的版本这种强制提交,如果使用的是gitlab, 权限不是maintainer, 提交也会失败,需要找管理员提交。
注意:这种方式会把提交的代码直接舍弃,非常不建议使用!第二种建议使用 git revert
(这种方法非常适用于提交后报错一直解决不了的,前提是提交前项目可以正常运行)
git revert 撤销。但是保留了提交记录。并且他是移除指定的提交。
获取需要回退的版本号,注意这里和上面的不一样,上面的是回退到之前的某一个版本,现在是撤销当前的版本。
1 执行 git log 命令 查看已经提交过的commit信息版本号
2 git revert 版本号,(例子 git revert 1212121212)
3 输入键盘 i 键,进入编辑状态,改一下提交的名称,
4 键盘Esc键,再去输入冒号 ,在输入 wq, 执行一下回车enter键,就ok了
5 然后再git push到远程分支,即可。
(当然了你在第3个步骤的时候也可以不编辑,直接操作下一步就行,
i ——> ESC ——> : ——> wq ——> enter ——>push)
这种方式可以只回退某一个版本,并且回退之后,还会保留之前版本的记录。推荐

git撤销本地commit、撤销本地merge相关推荐

  1. 【Git】Git 本地的撤销修改和删除操作

    一:撤销操作 比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复 ...

  2. [Git]如何撤销上次commit

    有的时候我们将某次修改commit了之后,突然想在其中某个文件中加点注释或去掉一些调试的log,但是又不想增加commit记录,那该怎么做呢? reset参数 -q, --quiet 安静模式,只报告 ...

  3. git 撤销上次commit提交

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

  4. git add 撤销git commit 撤销

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

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

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

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

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

  7. Git笔记(三)git commit撤销

    Git笔记(三)git commit撤销 1.git commit撤销 1.git commit撤销 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m &qu ...

  8. Git commit 撤销提交与查看提交的内容

    撤销最近commit git reset --soft HEAD^ 查看所有commit记录 git log 查看最新的commit详情 git show 查看指定commit hashID的详情: ...

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

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

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

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

最新文章

  1. ARP病毒查找与防范
  2. python优先队列_python实现最大优先队列
  3. 《maven实战》笔记(2)----一个简单maven项目的搭建,测试和打包
  4. var s=+newDate();的用法,表示对应的时间截
  5. 北大开源分词工具包: 准确率远超THULAC、jieba 分词
  6. 最全的iOS物理引擎demo
  7. 微信小程序中如何使用setData修改数组或对象中的某一参数
  8. 在Java中从字符串中删除空格
  9. caffe镜像︱window10+docker+ubuntu14.04+caffe镜像的简单尝试
  10. 云计算解码:技术架构和产业运营
  11. Docker以及Registry介绍
  12. The 'manifest_version' key must be present and set to 2 (without quotes)
  13. Vulkan Tutorial
  14. JavaScript简易文字对战游戏
  15. 常见的浏览器以及内核
  16. 【英语学习】星期的词源
  17. 怎么让maillog日志记录smtp是使用25端口还是465端口(SSL加密方式)
  18. Notepad++软件安装教程
  19. #10064 「一本通 3.1 例 1」黑暗城堡(spfa+乘法原理)
  20. word2CHM,做软件产品必备的说明书工具

热门文章

  1. 个人征信牌照发放历程-民兴
  2. RC5编码格式的遥控器解码、PCA9633器件控制代码示例、串口通信程序示例、IIC通信示例
  3. PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
  4. Djiango SimpleUI后台优化
  5. Android基础学习笔记13:安卓触摸事件触摸按键
  6. [Reprint] C++函数模板与类模板实例解析
  7. 好记星不如烂笔头!就从今天开始吧~
  8. 医学自然语言处理(NLP)相关论文汇总之 EMNLP2020
  9. C++实现设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系
  10. 初学画素描如何把球体画好