执行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编辑器,修改完成你要的注释后保存即可。

转载
链接:https://www.jianshu.com/p/a9f327da3562

git commit 后 尚未push到远程,撤销commit的更多相关文章

  1. 第一次怎么把本地git仓库的内容push到远程仓库?

    使用git push origin <分支名> -f 这种方式可以用本地仓库的内容覆盖远程仓库.

  2. git 本地新建分支Push到远程

    1. 本地新建分支,并切换到新的分支 git branch local_branch; git checkout local_branch; 2.第一条的命令也可以简单的一条命令来替代 git che ...

  3. clone分支,修改文件本地commit后, push回原分支失败,处理方法

    从远程clone 一个仓库到本地仓库A后,由于有多个分支,经常需要切换,不同分支区别比较大,切换一下,需要重编译,于是又在本地clone了改动较大的一个分支F到仓库B: 在B仓库改动后,提交到A仓库的 ...

  4. git push到远程仓库

    (此处我以码云为例) 常用命令: 添加远程仓库:git remote add origin 仓库地址 (origin只是一个名字,对远程仓库的一个名字,习惯上用origin) 从仓库拉取内容:git ...

  5. git 撤销push到远程仓库的无用commit

    一 回退代码 git reset <版本号> --soft // 软回退 - 所有的commit修改都被撤销了,且修改的代码统一撤回到暂存区 git reset <版本号> - ...

  6. git commit 后,没有push ,怎么撤销

    如果是撤销到commit 之前,本地修改也放弃,可以 使用git  reset --hard , 但是想保留本地修改,也想撤销commit 可以使用 git reset  --mixed  HEAD^ ...

  7. 转!!git如何撤销上一次commit(或已push)

    原博文地址 : https://www.cnblogs.com/lyy-2016/p/6509707.html git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地comm ...

  8. Git撤回已经推送(push)至远程仓库提交(commit)的版本

    背景 所以,经常会遇到已经提交远程仓库,但是又不是我想要的版本,要撤下来. 回退版本一般使用git reset,又分为: # 不删除工作空间改动代码,撤销commit,不撤销git add . git ...

  9. git 添加远程仓库后无法push

    push的时候提示fatal: refusing to merge unrelated histories   假如我们的源是origin,分支是master,那么我们 需要这样写git pull o ...

随机推荐

  1. Spark的任务提交和执行流程概述

    1.概述 为了更好地理解调度,我们先看一下集群模式的Spark程序运行架构图,如上所示: 2.Spark中的基本概念 1.Application:表示你的程序 2.Driver:表示main函数,创建 ...

  2. 抓包工具fiddler的Https证书设置

    一.工具(option)--设置(setting)-- https-- 动作(actions)-- (open windows certificate manger)-- 搜索(fiddler)删除所 ...

  3. Linux学习《第五章 用户身份与文件权限》

  4. laravel.url

    通过php artisan route:list 可以看到当前应用的路由情况, 在前端页面中如果要修改一个实体,需要用到实体.update,涉及的uri为实体/{实体},所用的http方法为put. ...

  5. 三十三、在SAP中通过选择屏幕,选择我们需要的数据

    一.代码如下,注意红色框框中的语句 二.我们选择一条数据 三.输出结果如下

  6. 好记性不如烂笔头--shell参数及shell判断if系列

    $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2$# 传递给脚本或函数的参数个数$* 传递给脚本或函数的所有参数$@ 传递给 ...

  7. Python量化交易的简单介绍

    Python只是一门技术. 一.量化交易的发展 1.国外量化金融领域发展日趋成熟. 2.近几年量化交易在国内掀起热潮. 3.Python作为量化交易的编译语言. 二.什么是量化交易 1.利用计算机强大 ...

  8. 基于Ambari的WebUI部署Hive服务

    基于Ambari的WebUI部署Hive服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari服务 博主推荐阅读: https://www.cnblogs.com ...

  9. c++ opencv 动态内存

    1.CvMemStorage定义动态内存存储器   内存存储器是一个用来存储诸如序列.轮廓.图形和子划分等动态增长数据结构的底层结构 2.示例 CvMemStorage *mems = cvCreat ...

  10. java多线程并发(二)--线程的生命周期及方法详解

    上篇随笔介绍了线程的相关基础知识以及新启线程的几种方法,本片将继续介绍线程的生命周期及方法详解. 一.线程的生命周期 在Thread代码中,线程的状态被分为6种 public enum State { ...