当前位置: 首页 > news >正文

回退用 git revert 还是 git reset?

  • git revert 会生成一个新的 commit 来记录此次操作;
  • git reset 是把 HEAD 指针向前挪动一次,会减少一个 commit。

回退用 git revert 回退还是用 git reset,核心就一点:
是否需要记录这次回退

如果需要记录这次回退,就用 git revert,反之用 git reset
是否需要,在遵循 git 基本原则的前提下,也有一些经验之谈。

公共分支的回退一般用 git revert

因为如果用 git reset, 后面推送到远程仓库需要强制 push 来修改历史提交记录,但是 git 的一般原则是不要破坏公共分支的历史提交记录,故公共分支上的回退一般用 git revert。还有就是,对公共分支的修改,本来就应该记录。最后一点就是,如果用 git reset 修改了公共分支的历史提交记录,其他同事都将不得不使用 git reset --hard origin/publicBranch 命令来将远程仓库代码同步到本地,这很蛋疼,因为本地未提交的代码都会被抹除。

非公共分支的回退一般用 git reset

就我平时的开发而言,在个人的分支上回退,git reset 更合适。比如你刚提交完一次代码,突然发现里面有句注释有错别字,你想修改,这个时候就可以直接用 git reset HEAD^ 将上一次提交的代码回退到工作区,修改错别字后重新提交。这种情况下就很适合 git reset,因为没有多余的记录,并且也不需要记录,你以及你的同事都不 care “修改错别字” 这一条记录。

http://www.lryc.cn/news/495433.html

相关文章:

  • 【docker】多阶段构建与基础构建,及企业案例展示
  • 基于链表的基础笔试/面试题
  • SARIMA 模型Matlab代码
  • 第八课 Unity编辑器创建的资源优化_特效篇(Particle System)详解
  • Oracle对比表与表之间的结构
  • 基于JSP+MySQL的网上招聘系统的设计与实现
  • 【Linux】进程地址空间(虚拟地址vs物理地址vs页表)
  • pytorch 融合 fuse 学习笔记
  • 在 Ubuntu 20.04 上使用 Lux 下载 Bilibili 视频的详细教程
  • 【eclipse】快捷键
  • 集成开发环境(IDE)的使用技巧插件配置
  • 【如何提升代码工程质量】code review篇
  • Qt 面试题学习13_2024-12-1
  • Hive 安装与架构详解
  • 前端入门指南:模块打包器是什么?模块打包器的工作原理与实践
  • 初识ProtoBuf以及环境搭建(Win和Ubuntu)
  • springboot366高校物品捐赠管理系统(论文+源码)_kaic
  • 【Python网络爬虫笔记】5-(Request 带参数的get请求) 爬取豆瓣电影排行信息
  • 递归算法讲解(c基础)
  • AJAX一、axios使用,url组成(协议,域名,资源路径)查询参数和化简,错误处理,请求/响应报文,状态码,接口文档,
  • QT6学习第六天 初识QML
  • 映射vim键位,基本功能键位表(未更完)
  • Python学习笔记(5)Python的创建型设计模式
  • qt QAnimationDriver详解
  • 零拷贝相关知识点(一)
  • STM32的CAN波特率计算
  • 简单好用的折线图绘制!
  • Hadoop批量计算实验
  • 基于rpcapd与wireshark的远程实时抓包的方法
  • ubuntu多版本安装gcc