分享到

Git版本回退之reset和revert使用介绍

相关技巧 来源:互联网 作者:佚名 发布时间:2025-04-03 21:42:20 人浏览
摘要

Git版本回退之reset和revert 在开发过程中,可能会遇到过错误提交的情况。这种情况下,先不要着急,可以通过以下两个命令来帮助你优雅的实现版本回退。 gitreset 假如现在有如下几个提交:

Git版本回退之reset和revert

在开发过程中,可能会遇到过错误提交的情况。这种情况下,先不要着急,可以通过以下两个命令来帮助你优雅的实现版本回退。

git reset

假如现在有如下几个提交:

其中:A 和 B 是正常提交,而 C 和 D 是错误提交。现在想把 C 和 D 回退掉。而此时HEAD 指针指向 D 提交(5lk4er)。我们只需将 HEAD 指针移动到 B 提交(a0fvf8),即可。

这个时候就可以使用git reset 命令:

1

2

git reset --hard a0fvf8 // 将HEAD指针移动到B提交点

git push origin HEAD --force // 将提交强制推到远程仓库

此时HEAD指针就会移动到 B 提交下:

采用这种方式回退代码会使 HEAD 指针往回移动,从而会失去之后的提交信息且不可恢复,所以要慎重使用。

git revert

git revert会创建一个新的版本,且HEAD指针会指向这个新生成的版本,原来错误提交信息也可以保留。

可以通过用git revert 命令逐个回退:

1

git revert 5lk4ergit revert 76sdeb

回退版本少的可以逐个回退,多的话就要批量回退了:

1

git revert OLDER_COMMIT^..NEWER_COMMIT

通过对比发现,git reset 会失去后面的提交,而 git revert 是通过反做的方式重新创建一个新的提交,而保留原有的提交。所以应尽量使用 git revert 命令来回退版本,慎重使用 git reset 命令。

补充

假如现在有三个提交,不巧的是那个错误的提交刚好位于中间

此时直接使用 git reset 命令将 HEAD 指针重置到 A 提交显然是不行的,因为 C 提交是正确的,需要保留的。

正确的做法:先把 C 和 B 提交全部回退,再使用 cherry-pick 命令将 C 提交重新再生成一个新的提交 C’’,这样就实现了将 B提交回退的需求。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Git版本回退之reset和revert使用介绍

    Git版本回退之reset和revert使用介绍
    Git版本回退之reset和revert 在开发过程中,可能会遇到过错误提交的情况。这种情况下,先不要着急,可以通过以下两个命令来帮助你优雅的
  • 如何使用git reset进行多commit合并

    如何使用git reset进行多commit合并
    在开发分支下,往往会有多次提交,可能是feature,也可能是bugfix,如果git管理员基于commit进行打tag,这就比较麻烦,所以在打tag之前,最好
  • DeepSeek R1 Ollama本地化部署全攻略介绍

    DeepSeek R1 Ollama本地化部署全攻略介绍
    Ollama作为当前最受欢迎的本地大模型运行框架,为DeepSeek R1的私有化部署提供了便捷高效的解决方案。本文将深入讲解如何将Hugging Face格式的
  • HarmonyOS Next音乐播放器项目实现代码

    HarmonyOS Next音乐播放器项目实现代码
    HarmonyOS Next音乐播放器页面是一款基于鸿蒙生态系统开发的现代化音乐播放页面组件,采用了ArkTS语言和鸿蒙原生组件开发。该应用实现了基
  • Windows安装与配置Ollama的图文教程

    Windows安装与配置Ollama的图文教程
    Windows安装与配置Ollama 简介 本节学习如何在 Windows 系统中完成 Ollama 的安装与配置,主要分为以下几个部分: 访问官网直接完成下载 环境变量
  • 使用DeepSeek搭建个人知识库(在笔记本电脑上)

    使用DeepSeek搭建个人知识库(在笔记本电脑上)
    最近DeepSeek爆火,试用DeepSeek的企业和个人越来越多。最常见的应用场景就是知识库和知识问答。所以本人也试用了一下,在笔记本电脑上部
  • 国内环境搭建私有知识问答库踩坑记录(ollama+de

    国内环境搭建私有知识问答库踩坑记录(ollama+de
    最近B站上看到不少关于利用deepseek模型搭建私有知识问答库的视频,讲的都很好,不过在我实际去操作时,还是遇到很多问题,花了两天时
  • 在VSCode中本地运行DeepSeek的流程

    在VSCode中本地运行DeepSeek的流程
    本文将分步向您展示如何在本地安装和运行 DeepSeek、使用 CodeGPT 对其进行配置以及开始利用 AI 来增强您的软件开发工作流程,所有这些都无
  • kafka开启kerberos认证的完整步骤
    一、kerberos安装部署 kerberos的基本原理不做过多介绍了,可自行查阅;本文主要介绍kerberos的安装及使用;使用到的软件版本:系统:Red Hat
  • 本地部署DeepSeek-R大模型的教程

    本地部署DeepSeek-R大模型的教程
    一、准备工作 在正式开始之前,你需要准备以下内容: 一台配置还不错的电脑(建议至少有独立显卡,内存 16GB 以上,显存越高越好, 没有
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计