小墨の博客

梦想需要付诸行动,否则只能是梦

撤销提交之 git reset --hard 和 git reset --soft区别

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


git reset 分为三种:软 --soft,中 ---mixed,硬 --hard 对应着三种回滚的程度,程度越硬,回滚的越“狠”

1. --soft:撤销commit的提交,但工作区未提交的更改还是保留。

2. --mixed:(git reset默认设定,可省略),文件会回退到未暂存状态,是撤销暂存区的提交,工作区的更改同样也保留。

3. --hard:工作区、暂存区、commit到仓库的三个版本都回滚,彻底返回到回退前的版本状态。


1、区别:


git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;

git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;


2、具体用法如下:


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


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

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


git reset –-soft使用示例:

现在要撤销某个提交,但是又不能撤销该提交包含的更改,使用git reset --soft。commit取消了,代码更改并没有取消。



参考:https://blog.csdn.net/yangfengjueqi/article/details/61668381


张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:545
    • 页面总数:20
    • 分类总数:96
    • 标签总数:213
    • 评论总数:63
    • 浏览总数:285197

    | | |
    | |  Z-Blog PHP