当前位置: 首页 > article >正文

【git】【reset全解】Git 回到上次提交并处理提交内容的不同方式

Git 回到上次提交并处理提交内容的不同方式

在 Git 中,若要回到上次提交并对提交内容进行不同处理,可使用 git reset 命令搭配不同选项来实现。以下为你详细介绍操作步骤及各选项的作用。

1. 查看提交历史

在操作之前,可通过以下命令查看提交历史,确认当前所处的提交位置以及上次提交的相关信息:

git log --oneline

该命令会以简洁的格式展示提交历史,每行包含一个提交的哈希值和提交信息。

2. 使用 git reset 命令及不同选项处理

2.1 --soft 选项

git reset --soft HEAD^
  • 作用--soft 选项只会移动 HEAD 指针,将其指向指定的提交(这里 HEAD^ 表示当前提交的上一个提交),而不会改变工作区和暂存区的内容,并且会把指定提交之后的所有更改重新放回暂存区。
  • 适用场景:当你不小心提交了代码,但后续还想基于这些更改进行调整后再提交,就可以使用该选项。

2.2 --mixed 选项(默认选项)

git reset --mixed HEAD^
# 等同于
git reset HEAD^
  • 作用--mixed 选项会移动 HEAD 指针到指定提交,同时重置暂存区,使其与指定提交一致,但工作区的内容不会改变。也就是说,提交之后的更改会从暂存区移除,但仍保留在工作区。
  • 适用场景:当你提交了代码,但又想修改一些文件后再重新提交,此时可以使用该选项将更改从暂存区移除,在工作区修改后再重新添加到暂存区进行提交。

2.3 --hard 选项

git reset --hard HEAD^
  • 作用--hard 选项会移动 HEAD 指针到指定提交,同时重置暂存区和工作区,使其都与指定提交一致。这意味着指定提交之后的所有更改都会被彻底丢弃,无法恢复(除非有备份或能从其他引用中找回)。
  • 适用场景:当你确定不再需要指定提交之后的更改,想要彻底回到之前的某个提交状态时,可以使用该选项。但使用时需谨慎,因为数据一旦丢失可能无法找回。

3. 查看操作结果

操作完成后,可使用以下命令查看状态:

git status

通过该命令可以清楚地看到工作区和暂存区的状态,以便决定后续的操作。

根据不同的需求,可以选择不同的 git reset 选项来回到上次提交并处理提交内容。


http://www.kler.cn/a/564193.html

相关文章:

  • PageHelper新发现
  • React低代码项目:问卷编辑器
  • 不能初始化photoshop,因为暂存盘已满
  • 轻松搭建:使用Anaconda创建虚拟环境并在PyCharm中配置
  • 【Bug】natten:安装报错(临近注意力机制的高效cuda内核实现)
  • 深入了解 Python 中的 MRO(方法解析顺序)
  • 网络安全学习中,web渗透的测试流程是怎样的?
  • 本地搭建Koodo Reader书库结合内网穿透打造属于自己的移动图书馆
  • 英伟达4090显卡ubuntu服务器部署deepseek大模型步骤(vLLM)(未验证)
  • 【HCIE实验1】模拟 DHCPv6 服务器及 PD 服务器分配 IPv6 地址和前缀的网络环境。
  • WPS接入DeepSeek模型免费版本
  • Hadoop最新版本hadoop-3.4.1搭建伪分布式集群以及相关报错解决
  • 华为MindIE兼容OpenAI接口与兼容vLLM OpenAI接口的区别(华为VLLM)
  • redis --- 相关基础知识整理
  • 【YOLOv12改进[注意力]】引入无参数平均注意力PfAAM模块魔改v12 | 2022/10/14
  • 深度生成模型(二)——基本概念与数学建模
  • 阿里云AccessKey泄露以及nacos1.4.2漏洞修复
  • 数据库事务的基本要素(ACID)
  • 【HTML— 快速入门】HTML 基础
  • dify绑定飞书多维表格