一起学Git【第五节:git版本回退】

git reset 是 Git 版本控制系统中一个非常强大的命令,它可以用来重置当前分支到指定的状态,即执行撤销操作或者回退至之前的某一版本,他可以回退至之前的某一个提交状态。有三种主要的用法:git reset --soft;git reset --hard;git reset --mixed;

对比如图:

1.git reset --soft <commit>

这个选项会将 HEAD 指向指定的提交(commit),但是暂存区(staged changes)和工作目录(working directory)保持不变。这意味着,如果你之前已经将一些更改添加到了暂存区,这些更改在执行 git reset --soft 之后仍然会被保留在暂存区中,等待下一次提交。

当你想要撤销最后一次提交,但是不想丢失已经暂存的更改时使用该命令。

2.git reset --hard <commit>

这个选项会将 HEAD、暂存区和工作目录都指向指定的提交。这意味着,执行git reset --hard后,所有未提交的更改都会丢失,工作目录中的文件会与最后一次提交的状态一致。

当你想要彻底回到某个特定的提交状态,并且不关心当前工作目录中的任何未提交更改时使用该命令。

3.git reset --mixed <commit>

这是git reset的默认行为。它会将 HEAD 指向指定的提交,并且将暂存区更新为与 HEAD 一致的状态,但是工作目录中的更改不会被影响。这意味着,执行git reset后,之前提交的更改会从暂存区中移除,但是这些更改仍然保留在工作目录中,你可以重新进行暂存和提交。

当你想要撤销最后一次提交,并且不想保留任何暂存的更改时使用该命令。

相关推荐
旅者时光16 小时前
Git使用基础
git
Clownorange16 小时前
git安装和配置
git
网安2311 0117 小时前
OWASP ZAP 安全工具深度剖析:从环境搭建到架构复原的结对编程实践
git
ShineWinsu19 小时前
对于Linux:git版本控制器和cgdb调试器的解析
linux·c语言·git·gitee·github·调试·cgdb
php_kevlin21 小时前
git提交限制规范
大数据·git·elasticsearch
安大小万21 小时前
Git 常用命令终极指南:从入门到进阶
git
摇滚侠21 小时前
GIT 代码冲突 git pull 和 git pull rebase 的区别,保持提交记录的线性整齐
git
vistaup1 天前
windows git 更新当前目录下所有的文件(非递归)
windows·git
王码码20351 天前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
Irene19912 天前
Git 命令汇总表(基于一次完整的 Git 实战经验整理,涵盖从安装配置到日常开发、问题排查的所有常用命令)
git·常用命令