详解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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • OpenStack 安装 Keystone的过程详解

    OpenStack 安装 Keystone的过程详解

    这篇文章主要介绍了OpenStack 安装 Keystone,本篇主要记录一下 openstack queens 版本 keystone 组件的安装过程,本文通过图文实例相结合给大家介绍的非常详细,需要的朋友参考下吧
    2022-05-05
  • es滚动查询分析和使用步骤示例详解

    es滚动查询分析和使用步骤示例详解

    ES在进行普通的查询时,默认只会查询出来10条数据,我们通过设置es中的size可以将最终的查询结果从10增加到10000,这篇文章主要介绍了es滚动查询分析和使用步骤,需要的朋友可以参考下
    2023-09-09
  • 两分钟学会如何在github托管代码

    两分钟学会如何在github托管代码

    这篇文章主要介绍了两分钟学会如何在github托管代码,本篇内容针对不会Git的小童鞋,大神们可以绕过,错误之处谢谢指正
    2014-10-10
  • git通过内网代理访问外网的相关配置方法

    git通过内网代理访问外网的相关配置方法

    这篇文章主要介绍了git通过内网代理,访问外网的相关配置,配置git代理以http代理为例,给大家详细讲解,需要的朋友可以参考下
    2023-05-05
  • Kali渗透测试之使用Metasploit对Web应用的攻击

    Kali渗透测试之使用Metasploit对Web应用的攻击

    这篇文章主要介绍了Kali渗透测试:使用Metasploit对Web应用的攻击,这种漏洞源于Web应用程序没有对用户输入的内容进行准确的验证,从而导致操作系统执行了攻击者输入的命令,需要的朋友可以参考下
    2022-05-05
  • HTML转义字符&npsp;表示non-breaking space \xa0

    HTML转义字符&npsp;表示non-breaking space \xa0

    HTML转义字符&npsp;表示non-breaking space,unicode编码为u'\xa0',超出gbk编码范围,这里就为大家分享一下
    2020-02-02
  • git在idea中的冲突解决方法(非常重要)

    git在idea中的冲突解决方法(非常重要)

    这篇文章主要介绍了git在idea中的冲突解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vscode debug设置参数与环境变量图文详解

    vscode debug设置参数与环境变量图文详解

    这篇文章主要给大家介绍了关于vscode debug设置参数与环境变量的相关资料,文中通过图文以及代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Wireshark零基础使用超详细教程

    Wireshark零基础使用超详细教程

    Wireshark是应用最普遍的一款开源抓包软件,常用来检测收集成绩、攻打溯源、或许剖析底层通讯机制,本文给大家讲解Wireshark零基础使用超详细教程,感兴趣的朋友一起看看吧
    2023-08-08
  • 教你JVM怎么使用native memory

    教你JVM怎么使用native memory

    这篇文章主要为大家介绍了JVM怎么使用native memory原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论