git的版本回退

文章目录

git的版本回退

git的强大之处在于版本的回退,git reset能按需将工作区、暂存区、版本库进行回退.

git reset 的使用

三种指令 工作区(文件) 暂存区(add) 版本库(commit) 一句话解释
--soft ❌ 不变 ❌ 不变 ✅ 回退 只撤销 commit,保留所有更改
--mixed(默认) ❌ 不变 ✅ 重置 ✅ 回退 撤销 commit 和 add
--hard ✅ 重置 ✅ 重置 ✅ 回退 三个区域完全回到指定版本

当修改文件并且 git add 添加到暂存区之后,想要 取消 add (重置暂存区) 有两种方式:

  1. git reset git reset --mixed HEAD的默认写法,只退回暂存区到上次commit的内容
  2. git restore --staged [文件] 取消上一次的add文件

其中: HEAD代表的是当前最新的版本库,如果想要上一次的版本库,HEAD^代表的是上一次的版本库

也就是说git reset --soft HEAD^可以取消最新的commit ,但是不将工作区和暂存区的内容退回上一次,以此类推选择恰当的三种退回功能;

指定版本的回退

当然,可以查找之前的版本号,来进行指定版本的回退

通过git log命令 查看提交的记录以及git 的版本号

然后就可以将 HEAD 替换到指定的版本号进行版本回退

比如:
git reset --mixed 26b26aa2243419e02d02029825d8450af196c258

回退工作区

git checkout -- README.md 将工作区的内容撤销回上一次add时

如果在一次add 之后,继续在工作区写了代码,但是代码写的不理想,就可以

将上一次放在暂存区的内容覆盖掉工作区.

相关推荐
.Hypocritical.12 小时前
Git 入门教程
git
AI行业学习18 小时前
Claude Code + cc-switch + Git + Node.js 全套下载+安装+配置完整版
开发语言·git·python·前端框架·node.js·html·notepad++
豆角焖肉20 小时前
.gitignore:配置文件+初学入门
git·gitignore
月落归舟20 小时前
Git 新手入门指南
git
达达车20 小时前
git使用技巧记录
git·使用技巧·版本管理
Simon—欧阳1 天前
Git使用心得&理解
git
AI行业学习1 天前
Claude Code + cc-switch + Git + Node.js 一站式完整安装配置教程【8.3】
git·python·安全·前端框架·node.js·html·notepad++
AI行业学习1 天前
Claude Code + cc-switch + Git + Node.js 一站式完整安装配置教程(2026最新·国内可用版)
人工智能·git·python·安全·node.js·html·notepad++
维基框架1 天前
OpenAI在给Git做优化 上游行为要变了
人工智能·git
1名持续学习的码农1 天前
GPT Plus、GPT Pro用户第一次用Codex,项目权限和Git分支怎么设置?
人工智能·git·gpt·elasticsearch·ai编程·codex