git撤销改动(reset revert)

本文介绍了在Git开发中如何使用gitreset命令回退到之前的版本。gitreset的三种模式——soft、mixed和hard,分别对应不同程度的回退操作。soft只更新HEAD,保留暂存区和工作目录;mixed改变HEAD和索引,工作目录保持不变;hard则会清除所有更改,包括HEAD、索引和工作目录。通过示例展示了如何使用这些参数,强调hard模式的潜在风险,可能导致本地修改丢失。
摘要由CSDN通过智能技术生成

reset

比如我们在日常的开发中,有很多时候需要回退到之前未开发的版本。大概会有以前几种场景。
1,已经commit了最新的changes。
在这里插入图片描述
这个时候我们想要回退到没有改动的时候。可以使用git reset
git reset 命令格式为git reset [–soft | --mixed | --hard] []
是git中最常用的命令,但也是最危险,最容易被误用的命令。reset命令本身很简单,但是它的参数让人迷惑,主要的参数有soft、 mixed、hard,它们告诉Git,当执行reset时,要对index和working copy做什么。
soft
–soft参数只告诉Git将其他的commit重置到HEAD,就仅此而已。index和working copy中的文件都不改变。(会保留暂存区和工作目录)
实例:
git reset --soft [commitId] 回退到某个版本,只回退了commit的信息。如果还要提交,直接commit即可
mixed (默认参数)
–mixed 改变HEAD和index,指向那个你要reset到的commit上。而working copy文件不被改变。当然会显示工作目录下有修改,但没有缓存到index中。(不会保留暂存区,只保留工作目录的改变
hard
–hard HEAD & index & working copy同时改变到你要reset到的那个commit上。这个参数很危险,执行了它,你的本地修改可能就丢失了。
git reset --hard HEAD 回到最新的commit 就是我们刚刚frist commit
git reset --hard HEAD^ 回到刚拉去下来的版本。

在这里插入图片描述
这时候我们看到Text.txt文件被删除了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值