欢迎来到代码驿站!

当前位置:首页 >

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

时间:2020-08-03 13:00:03|栏目:|点击:

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

1、二者区别:

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

2、具体用法如下:

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

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

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

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

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

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

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

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

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

上一篇:Zabbix基于snmp实现监控linux主机

栏    目:

下一篇:R语言ggplot2边框背景去除的实现

本文标题:详解git reset --hard 和 git reset --soft区别

本文地址:http://www.codeinn.net/misctech/3004.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有