git如何恢复到之前提交的历史版本状态

想恢复到之前提交的一次历史状态,那么这里弹出来的对话框应该怎么选,
四个选项什么意思,不是很理解

在这里插入图片描述

如果英文看起来吃力的话,建议汉化一下,直接在插件里面安装汉化插件就行。
这四个我给你翻译一下哈(希望采纳呢):

第一步:

img


第二步:

img

img


回退(reset)、反做(revert)
RESET命令
1.reset --softsoft

①移动本地库HEAD指针
意思就是,回滚后,仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。
而你上次改动已提交到本地库的代码显示是绿色,即未提交

2.reset --mixed

①移动本地库HEAD指针
②重置暂存区
意思就是,回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,意思就是你上次添加到暂存区的文件没了

3.reset --hard

①移动本地库HEAD指针
②重置暂存区
③重置工作区
意思就是,回滚后,本地代码就是你回退版本的代码

4.reset --keep

①移动本地库HEAD指针
②重置工作区
意思就是,回滚后,本地代码就是你回退版本的代码,暂存区的文件依然保存。
此时本地仓库回退了,但远程仓库还没有,push到远程仓库,会提示拒绝,但不能和远程仓库合并,因为合并就达不到回退的目的了

Undo commit
对于已经commit但是还没有push的代码想要回退的话可以这样操作

使用git log命令,查看分支提交历史,确认需要回退的版本
使用git reset --hard commit_id命令,进行版本回退
使用git push origin命令,推送至远程分支

使用命令:
git reset --soft HEAD^