暂存区回退
Git reset
mixed 模式, 默认模式
soft 模式
hard 模式
总结
暂存区回退
命令行:
git reset HEAD – filename
Git GUI 界面操作
- 选中需要unstage的文件
- 菜单 Commit–>Unstage From Commit
以上一篇的project 1的 file1.txt文件为例,
- 改动文件: 新增一行:second Line
- 添加到暂存区
- 回退: git reset HEAD – file1.txt
从暂存区撤回,之前文件做过的修改还会保持。
Git reset
以上只是Git 撤销的一种用法, Git Rest有三种模式:
mixed - 默认
soft
hard
mixed 模式, 默认模式
git reset 如果不加其他参数或是加上 mixed使用的都是这种模式。
准备工作
将project1的file1文件提交三次, 使用:
git log –graph –one
命令查看一下提交记录 (单行,图形化显示)
D:\\gitworkspace\\project1>git log –graph –oneline
- c51c220 third commit
- 7e6fea3 second commit
- 6661de3 file1 add
修改文件,添加一行: four Line
并add 到暂存区。
现在要回退到第二次提交
git reset –mixed 7e6fea3
这里的版本号也可以使用 HEAD^替代。(不过笔者的使用好像是有点问题)
HEAD指向当前版, HEAD^ 上一版, HEAD^^上上一版…
使用git show HEAD , HEAD已经指向第二次提交了。
执行完成之后,变化如下:
暂存区的内容撤销了
工作区的文件没有变化, 也就是添加的那一行还在
使用git log 查看, 只有两条提交的记录了。
使用git diff 比较差异,版本库是使用第二版和本地文件进行比较。
删除第三行后, add后提交。再看一下log
D:\\gitworkspace\\project1>git log –graph –oneline
- db34463 four commit
- 7e6fea3 second commit
- 6661de3 file1 add
第三次的提交就从版本库中去掉了。
soft 模式
准备工作
在file1.txt 新增一行: five line
git add 到暂存区
执行: git reset –soft 7e6fea3
也就是回退一个版本。
执行完成之后:
暂存区的内容还在(不同与mixed 模式)
使用git diff –cached 比较一下暂存区与版本库的差别。
版本库使用的是回退的版本(与mixed相同)
D:\\gitworkspace\\project1>git diff –cached
diff –git a/file1.txt b/file1.txt
index 68d1742…80554e6 100644
— a/file1.txt
+++ b/file1.txt
@@ -1,2 +1,4 @@
first Line
-second Line
\\ No newline at end of file
+second Line
+four line
+five line
\\ No newline at end of file
提交更改
git commit -m “five commit”
6.看一下记录, 库中上一版的记录没有了。
git log –graph –oneline
hard 模式
准备工作
修改file1.txt , 新增 six Line, 并add到暂存区
回退上一版,执行
git reset –hard 706fea3
执行效果
缓存区内容没有了(与mixed同)
工作区的内容也被回退的版本替换了。
也就是说, 使用库的指定版本完全替换。
总结
git reset –soft : 不改变暂存区, 仅仅将Commit回退
git reset –mixed : 不改变工作区,覆盖暂存区
git reset –hard : 改变工作区,覆盖暂存区
作者:oscar999
来源:CSDN
原文:https://blog.csdn.net/oscar999/article/details/81698011
版权声明:本文为博主原创文章,转载请附上博文链接!
继续阅读与本文标签相同的文章
-
PHP 异常任重而道远
2026-05-18栏目: 教程
-
学生时代所学的一些 C 语言知识点回顾(2)——指针
2026-05-18栏目: 教程
-
假设我们都失去视觉——淘宝的无障碍化建设 | 开发者必读(061期)
2026-05-18栏目: 教程
-
阿里巴巴“新六脉神剑”来了
2026-05-18栏目: 教程
-
RocketMQ消息轨迹-设计篇
2026-05-18栏目: 教程
