详解git reset --hard 和 git reset --soft区别

 更新时间:2020年08月03日 12:00:11   作者:木林森淼  
这篇文章主要介绍了详解git reset --hard 和 git reset --soft区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令。

1、二者区别:

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;
git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;

2、具体用法如下:

使用git log命令查看本地的所有提交

现在想要撤销最后一次提交,即上图中“OTMS-25838: rollback the modification in OrderDto”这个commit;

(1)git reset --hard使用示例:

使用命令git reset --hard 1c38838ad39b396e271cb10e2146a1d673b4a2b9撤回制定版本号(不包括该提交)之前的所有提交。

注意:上述命令执行成功之后,会彻底返回到回退前的版本状态,新发生的变更将会丢失。对于部分发生了变更,但是变更部分的文件夹存在未提交的文件可能导致目录非空而删除失败,此时需要自行处置。

(2)git reset –-soft使用示例:

初始状态,可见当前分支最后一个提交是debug the initialization page

现在要撤销该commit,但是又不能撤销该提交包含的更改,使用git reset --soft,执行结果为

可见commit取消了,代码更改并没有取消。

到此这篇关于详解git reset --hard 和 git reset --soft区别的文章就介绍到这了,更多相关git reset --hard和git reset --soft内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 详解版本控制利器Git,SVN的异同以及适用范围

    详解版本控制利器Git,SVN的异同以及适用范围

    本文通过对版本控制程序git及SVN进行对比分析其优缺点,以及他们的适用范围,希望对大家能有所帮助
    2014-11-11
  • Git 教程之工作流程详解

    Git 教程之工作流程详解

    本文主要介绍Git 工作流程的内容,这里整理了相关资料,并附Git工作流程图,有需要的小伙伴可以参考下
    2016-09-09
  • 程序员学英语的一个方法

    程序员学英语的一个方法

    这篇文章主要介绍了程序员学英语的一个方法,程序员学习英语是很有必要的,只要坚持下去,相信必有收获,需要的朋友可以参考下
    2014-08-08
  • 编程之显示/隐式声明

    编程之显示/隐式声明

    显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型。隐式声明 指通过某种默认协定的方法将变量名与类型绑定。
    2011-01-01
  • web服务器程序运行出现乱码问题的解决方法

    web服务器程序运行出现乱码问题的解决方法

    有时候程序运行是,出现乱码,不是因为数据库的问题,是因为没有定义编码的问题,大家可以看下养成良好的编码习惯。
    2009-12-12
  • 分享10个免费超棒的编程用等宽字体

    分享10个免费超棒的编程用等宽字体

    本文介绍 10 个适合在编程时使用的等宽字体,它们都是免费的,效果很好
    2013-07-07
  • IDEA+Git+Gitlab使用详细教程

    IDEA+Git+Gitlab使用详细教程

    这篇文章主要介绍了IDEA+Git+Gitlab使用详细教程,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • VsCode的jsconfig配置文件说明详解

    VsCode的jsconfig配置文件说明详解

    这篇文章主要介绍了VsCode的jsconfig配置文件说明详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • vs2019报错:配置“Debug|Win32”的 Designtime 生成失败IntelliSense 可能不可用的问题

    vs2019报错:配置“Debug|Win32”的 Designtime 生成失败Intelli

    这篇文章主要介绍了vs2019报错:配置“Debug|Win32”的 Designtime 生成失败IntelliSense 可能不可用 出错内容,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Get方法和Post方法的区别深入理解

    Get方法和Post方法的区别深入理解

    学习编程的人对Get方法和Post方法并不陌生吧,GET是从服务器上获取数据,POST是向服务器传送数据,不了解的朋友可以详细参考下
    2013-10-10

最新评论