[](https://blog.csdn.net/qq_20605113/article/details/123561243)前言 ----------------------------------------------------------------- 在我们开发过程中,因各种原因,避免不了将业务代码回滚至指定版本,或者具体一些到某次commit。 下面我们将具体步骤及具体实现做分析。 [](https://blog.csdn.net/qq_20605113/article/details/123561243)操作前阅读 -------------------------------------------------------------------- 在代码回归操作过程中主要 围绕 git reset 命令进行,该命令会把版本库和工作目录改变为已知状态。具体来讲,git reset 调整 HEAD 引用指向指定的提交,默认情况下还会更新索引以匹配该提交。根据需要,git reset 命令也可以修改工作目录以呈现指定提交代表的项目修订版本。 * git reset 命令有三个主要选项 * `--soft` 会将 HEAD 引用指向指定提交。索引和工作目录的内容保持不变。这个版本的命令有“最小”影响,只改变一个符号引用的状态使其指向一个新提交。 * `--mixed` 会将 HEAD 指向指定提交。索引内容也跟着改变以符合指定提交的树结构,但是工作目录中的内容保持不变。这个版本的命令将索引变成你刚刚暂存该提交全部变化时的状态,它会显示工作目录中还有什么修改。–mixed 是 git reset 的默认模式。 * `--hard` 这条命令将 HEAD 引用指向给定提交。索引的内容也跟着改变以符合给定提交的树结构。此外,工作目录的内容也随之改变以反映给定提交表示的树的状态。当改变工作目录的时候,整个目录结构都改成给定提交对应的样子。做的修改都将丢失,新文件将被删除。在给定提交中但不在工作目录中的文件将恢复回来。 [](https://blog.csdn.net/qq_20605113/article/details/123561243)具体步骤 ------------------------------------------------------------------- 一般情况下,我们分为三个步骤就可以解决完代码回滚操作 ### [](https://blog.csdn.net/qq_20605113/article/details/123561243)第一步 * 执行 git log命令查看日志,获取需要回退的版本号 例如:  ### [](https://blog.csdn.net/qq_20605113/article/details/123561243)第二步 执行 git reset –-soft ,如 git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7 ,重置至指定版本的提交 ### [](https://blog.csdn.net/qq_20605113/article/details/123561243)第三步 执行 git push -f origin 强制提交当前版本号 * \>··< 此时恭喜你,你的代码回滚成功了 本文转自 [https://blog.csdn.net/qq\_20605113/article/details/123561243](https://blog.csdn.net/qq_20605113/article/details/123561243),如有侵权,请联系删除。
评论