IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git回退 git revert 和 git reset 用法 -> 正文阅读

[开发工具]git回退 git revert 和 git reset 用法

用法

git reset

用于回退版本,可以指定退回某一次提交的版本。直接删除指定的 commit 之后的记录。

命令语法格式如下:

git reset [--soft | --mixed | --hard] [HEAD]
  • --mixed 为默认,可以不用带该参数,不删除工作空间改动代码,撤销 commit,并且撤销 git add
  • --soft 不删除工作空间改动代码,撤销 commit,不撤销 git add
  • --hard 删除工作空间改动代码,撤销 commit,撤销 git add

git revert

用于重做(回滚)指定某一次提交的版本。不会删除 commit 和 history ,且会把这次操作作为一次最新的提交。

命令语法格式如下:

git revert [<options>] <commit-ish>

区别

  1. git revert 是用一次新的 commit 来回滚(重做)之前的 commit ,git reset 是直接删除指定的 commit。
  2. 在回滚操作上看,效果差不多。但是在以后继续合并以前的老版本时有区别。 git revert 是用一次逆向的 commit (重做)之前的提交,因此以后合并老的分支时,会导致这部分改变不会再次出现,但是 git reset 是直接把某些 commit 在某个分支上删除,因而和老的分支再次合并时,这些被回滚的 commit 还会被引入。

场景

  1. 小明在分支 dev1 上开发,提交了 3 次(分别为 c1、c2、c3),发布时需要把 dev1 分支合并到 master 分支上,生成记录 m2,并发布到线上。
  2. 小王在分支 dev2 上开发,提交了 1 次(c1),然后也把 dev2 分支合并到 master 分支上,生成记录m3,并发布到线上。
  3. 不幸的是,小名的 dev1 分支上存在 bug,需要回滚 dev1 上的所有提交。

在这里插入图片描述

解决

使用 git reset 会将 M1 之后的提交都回退掉, 也就是 M2 和 M3 都会消失,这不符合现在的场景,
所有推荐使用 git revert.
git revert 会生成 M4,M4 上面就没有 dev1 的提交了。
在这里插入图片描述
注意
当 dev1 分支的 bug 修改完成后,在合并到 master 时,之前被重做的内容是不会出现的,也就是 C1、C2、C3 的改变不会再出现,需要再次 revert 掉 M4,生成 M5 后再进行合并。
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:10:12  更:2021-12-14 16:12:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/24 21:56:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计