git教程-git reset 恢复到上一个版本、恢复到指定版本 作者:马育民 • 2022-05-13 14:29 • 阅读:10035 # 说明 有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法: 1. 修改错误内容,再次commit一次 2. 使用 `git reset` 命令撤销这一次错误的commit 第一种方法简单,但会多次一次commit记录。 第二种方法更好,错误的commit没必要保留下来 那么今天来说一下git reset。它的一句话概括 ### 语法 ``` git reset [--soft | --mixed | --hard] [HEAD] ``` ### soft、mixed、hard 参数说明: | |工作目录 |暂存区(index) |版本库(head) | | ------------ | ------------ | ------------ | ------------ | |`--soft` |不变 |不变 |恢复指定版本 | |`--mixed` 或不写 |不变 |恢复指定版本 |恢复指定版本 | |`--hard` |恢复指定版本 |恢复指定版本 |恢复指定版本 | **注意:** `--hard` 慎用,工作区的代码也会恢复 ### HEAD 参数说明 HEAD 表示当前版本 ``` # 恢复上一个版本 git reset HEAD^ # 恢复上上一个版本 git reset HEAD^^ # 以此类推... ``` ### 例子 恢复到上一个版本 windows执行下面命令: ``` git reset --hard "HEAD^" ``` linux执行下面命令: ``` git reset --hard HEAD^ ``` # 恢复到指定版本 ### 语法 ``` git reset [--soft | --mixed | --hard] 版本序列号 ``` **解释:** `版本序列号` 是 `git log` 指令的结果,版本号比较长,可以只输入前几位 # 例子 ### 查看日志 ``` git log ``` 执行结果如下: [![](/upload/0/0/1IX3ItbXBFZM.png)](/upload/0/0/1IX3ItbXBFZM.png) ### 恢复命令 ``` git reset --hard 7e310a4 ``` #### 参考 https://www.jianshu.com/p/c2ec5f06cf1a https://www.cnblogs.com/igoodful/p/10685680.html https://www.runoob.com/git/git-reset.html 原文出处:http://www.malaoshi.top/show_1IX3ItdLireT.html