展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 编程开发 > Git撤销命令revert与reset区别全面对比

Git撤销命令revert与reset区别全面对比

Git撤销命令revert与reset的核心区别:revert通过创建新提交撤销更改,安全且保留历史,适合已推送的共享仓库;reset直接回退或删除提交,会修改历史,仅适合本地未推送的提交。公共历史用revert,私有历史用reset。

前言

今天有同事问起Git的撤销命令,revert和reset到底有什么区别?索性整理一下,做一次比较全面的对比。总的来说,git revert 和 git reset 都是用来撤销更改的,但它们的运作方式和适用场景,差别其实非常大。

核心区别对比

特性 git revert git reset
安全性 安全 - 不改变历史记录 危险 - 会修改历史记录
操作对象 提交(commit) 提交(commit)或暂存区
历史记录 创建新的撤销提交 删除/移动提交历史
团队协作 适合共享仓库 不适合已推送的提交
工作区影响 不影响未提交的更改 根据模式影响工作区

详细说明

git revert

  • 作用:创建一个新的提交来撤销指定提交的更改

  • 使用场景:撤销已推送到远程仓库的提交

  • 命令示例:

    # 撤销最近一次提交
    git revert HEAD
    # 撤销指定提交
    git revert 
    # 撤销多个连续提交
    git revert ..

特点:

  • 历史记录中会保留原提交和新创建的撤销提交

  • 可以撤销任意历史提交,而不影响后续提交

  • 适合团队协作环境

git reset

  • 作用:将当前分支重置到指定状态,有三种模式

三种模式对比:

模式 工作区 暂存区 历史记录 适用场景
--soft 不变 保留更改 回退 修改提交信息
--mixed (默认) 不变 清空 回退 重新组织提交
--hard 清空 清空 回退 彻底放弃更改

命令示例:

# 重置到前一个提交(保留工作区更改,取消暂存)
git reset HEAD~1
# 重置并保留更改在暂存区
git reset --soft HEAD~1
# 彻底重置,丢弃所有更改
git reset --hard HEAD~1
# 重置到特定提交
git reset --hard 

使用建议

使用git revert当:

  • 撤销已推送到远程仓库的提交

  • 需要保留完整的历史记录

  • 多人协作,避免影响他人工作

  • 只想撤销某个特定提交,而保留后续更改

使用git reset当:

  • 撤销本地未推送的提交

  • 需要重写本地历史(如整理提交记录)

  • 完全放弃某些本地更改

  • 注意:如果提交已推送,需要强制推送(git push -f),这会破坏团队协作(且强制推送后会抹掉git仓库中原来的提交记录)

实际示例

# 错误提交了不该提交的文件,但已推送到远程
# ✅ 正确做法:使用 revert
git revert HEAD
git push

# 本地提交了错误信息,还未推送
# ✅ 正确做法:使用 reset
git reset --soft HEAD~1
# 修改文件后重新提交
git add .
git commit -m "正确的提交信息"

# 想完全放弃最近的本地更改
# ✅ 使用 hard reset(谨慎!)
git reset --hard HEAD
# reset 后必须使用 -f 强制push才能推送成功
git push -f

重要原则:

  • 已推送的提交:总是使用 revert

  • 未推送的本地提交:可以使用 reset

  • 未跟踪的本地更改:使用 git checkout -- 或 git clean

记住这个简单规则:公共历史用 revert,私有历史用 reset。

总结

  • reset是彻底回退到指定的commit版本,该commit后的所有commit都将被清除,包括提交历史记录;
  • revert仅仅是撤销指定commit的修改,并不影响后续的commit,但所撤销的commit被后续的commit修改了同一地方则会产生冲突;
  • reset执行后不会产生记录,revert执行后会产生记录;
  • reset执行后无法再次恢复,revert执行后因为不会清除记录,并且会产生新纪录,所以文件不会丢失,你可以多次执行revert恢复到某次改变之前的状态;
  • reset执行后HEAD会后移,而revert的HEAD则一直是向前的;

理清了reset和revert的基本原理,你在什么时间该使用哪个命令,心里自然就有数了。

本文内容来源于网友投稿,如有侵权请联系删除。
作者最新文章
编程开发
相关文章 更多
精品专题 更多
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

Mac软件 更多
photoshop
photoshop

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Mac
WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Mac
Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。