Git reset 回退版本
- 第 121 篇 -
Date: 2025 - 09 - 06
Author: 郑龙浩(仟墨)
Git reset 回退版本
学习的网课:
https://www.bilibili.com/video/BV1HM411377j?spm_id_from=333.788.player.switch&vd_source=2683707f584c21c57616cc6ce8454e2b&p=6
1 介绍三种命令区别
git reset –-soft
保留「工作区」,保留「暂存区」git reset --hard
清除「工作区」,清楚「暂存区」git reset --mixed
保留「工作区」,清除「暂存区」
3 验证三种的区别
流程如下:
- 新建文件夹
repo
,创建三个文件,并分三次依次提交 - 将repo复制三遍,分别验证三种命令的区别
步骤如下
① 在空目录(文件夹) git-practice-2 中创建本地仓库
git init
② 在该目录中创建三个文件,并且分三次提交到本地仓库 && 查看每次提交的ID
创建三个文件
分别提交
查看提交ID
③ 将该仓库复制三遍,依次为 git-practice-soft,-hard,-mixed
如何复制?
第二个要粘贴到的路径所指的文件夹必须是不存在的,否则使用这个方法无法拷贝到这个路径
git clone "要复制仓库的路径" "粘贴到的路径"
这是现在所有仓库
④ 查看提交历史,获取commit id
以下都回退到「第2次」提交历史
④ 对 git-practice-soft 本地仓库执行 git reset –-soft
命令 && 查看「提交记录」「暂存区」「工作区」「文件内容」有什么变化
git reset –-soft
保留「工作区」,保留「暂存区」
回退到第2次提交
查看提交记录是否发生变化
查看工作区、暂存区、文件内容中file3,txt是否发生改变
⑤ 对 git-practice-hard 本地仓库执行 git reset –-hard
命令 && 查看「暂存区」与「工作区」有什么变化
git reset --hard
清除「工作区」,清楚「暂存区」
操作同上:
⑥ 对 git-practice-mixed 本地仓库执行 git reset –-mixed
命令 && 查看「暂存区」与「工作区」有什么变化
git reset --mixed
保留「工作区」,清除「暂存区」
指令同上:
3 如果不小心git reset --hard
将「工作区」和「暂存区」中的内容删除,刚才的记录找不到了,怎么办呢?
可以使用 git reflog
命令可以查看「工作区」和「暂存区」的所有修改内容
然后在使用上面的回退版本的命令,找到file3.txt文件,然后回退到提交file3的版本即可