git进阶--5---git reset 和 git revert 的区别与联系

git进阶--5---git reset 和 git revert 的区别与联系

1. 相同点

  • 都是对版本做出一些改变

2. 不同点

  • git reset 是进行版本回退,根据不同的参数,是定是否复原索引和工作区
  • git revert 是撤销上一次的提交,不会改变过去的历史,安全的取消过去发布的提交

3. 使用

  • git reset可以指定ID,从指定的ID版本号开始回退,如果不指定,则从当前ID版本号开始回退
  • 可以携带参数
  • --mixed(默认参数),只回复到暂缓区
  • --hard, 暂缓区和工作区都恢复
  • --soft, 暂缓区和工作区都不会变化
  • git revert
  • git revert HEAD
  • git revert HEAD^

4.使用场景

  • 如果回退分支的代码以后还需要使用,只是回退一下,则使用git revert
  • 如果分支是提错的,并且不想让别人知道只写错误代码,则使用git reset
相关推荐
A_Lonely_Cat2 天前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
和你看星星4 天前
Git rerere:让重复冲突只解决一次
git
嘻嘻仙人7 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson7 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友7 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金8 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森8 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang9 天前
Git 必备命令指南:从日常高频到项目开发实战
git
叫我少年10 天前
Windows 中安装 git
git
深海鱼在掘金15 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git