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

【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.lryc.cn/news/543360.html

相关文章:

  • 【leetcode hot 100 11】移动零
  • DeepSeek 部署实战:Ollama + 多客户端 + RAG
  • Linux通过设备名称如何定位故障硬盘
  • 大模型基础概念之神经网络宽度
  • 数据开发的简历及面试
  • 数据存储:一文掌握存储数据到ElasticSearch详解
  • Pytorch使用手册--将 PyTorch 模型导出为 ONNX(专题二十六)
  • Vue2+Element实现Excel文件上传下载预览
  • 物联网平台建设方案一
  • 机器学习破局指南:零基础6个月系统训练计划
  • mmdetection框架下使用yolov3训练Seaships数据集
  • unity学习52:UI的最基础组件 rect transform,锚点anchor,支点/轴心点 pivot
  • STM32MP15-FSMP1A单片机移植Linux系统platform总线驱动
  • Java 常见的面试题(设计模式)
  • 机器学习3-聚类
  • html中的css
  • 36. Spring Boot 2.1.3.RELEASE 中实现监控信息可视化并添加邮件报警功能
  • Linux: 已占用接口
  • Vscode的通义灵码占用空间过大问题【.lingma】
  • 鸿蒙Next如何自定义标签页
  • 知识拓展:Python 接口实现方式对比:Protocol vs @implementer
  • 开源程序wordpress在海外品牌推广中的重要作用
  • 【Python爬虫(89)】爬虫“反水”:助力数字版权保护的逆向之旅
  • k8s面试题总结(五)
  • 文章精读篇——用于遥感小样本语义分割的可学习Prompt
  • Spring Boot2.0之十 使用自定义注解、Json序列化器实现自动转换字典类型字段
  • 从电子管到量子计算:计算机技术的未来趋势
  • 将CUBE或3DL LUT转换为PNG图像
  • python文件的基本操作,文件读写
  • 华为认证考试证书下载步骤(纸质+电子版)