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

GIT实践与常用命令---回退

实践场景

场景1 回退提交

在日常工作中,我们可能会和多个同事在同一个分支进行开发,有时候我们可能会出现一些错误提交,这些错误提交如果想撤销,可以有两种解决办法:回退( reset )、反做(revert)
keywords:reset、revert、reflog

回退 git reset

reset 操作就是修改 HEAD 指向的位置,将 HEAD 当前指向的位置回退到指定的某个版本,例如针对某个分支我们提交了三次(如图所示),这是 reset 之前的三个 commit 记录,目前 HEAD 指向的是 commit 3的位置,如果我们想把代码回退到 commit 1的位置,怎么操作呢?

git reset --hard  'commit 1 的提交id'


操作完之后 commit 2和 commit 3 的提交记录就没有了,直接回退到了commit 1。注意区分两个参数:hard& soft

  • –hard 直接回退
  • –soft 软回退

soft只回退了commit 的信息,但是内容不会消失,工作区的文件内容都还在。如果还要提交,直接 commit 即可。这种操作的友好性就是如果我们本身只是想把commit的操作给回退,但是不想还原内容,保持所有内容都还在,这种操作就很合适,保证了代码不会丢失。

重做/反做 git revert

git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的。比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。如下图所示:

反做前:

git revert -n  'commit 2 的提交id'
git commit -m 'test4'

反做后:

找回reset和revert的记录 git reflog

如何找回因回退或反做而消失的commit记录?上述两种操作会造成有些 commit 记录消失,但是如果自己又后悔了,想找回来,我们该怎么操作呢?可以使用reflog查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

git reflog
faa135e HEAD@{0}: commit: test3
783ef0a HEAD@{1}: commit: test2
2288ba8 HEAD@{2}: commit: test1
abddace HEAD@{3}: commit: test3
30df387 HEAD@{4}: commit: test3

参考资料

  • Git 版本回退(实际工作中基本都会遇到) - 掘金
  • yuque.GIT实践与常用命令

相关文章:

GIT实践与常用命令---回退

实践场景 场景1 回退提交 在日常工作中,我们可能会和多个同事在同一个分支进行开发,有时候我们可能会出现一些错误提交,这些错误提交如果想撤销,可以有两种解决办法:回退( reset )、反做(revert) keywords:reset、rev…...

Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解

01-综述 可以使用Python内置的logging模块来实现Django项目的日志记录。 所以与其说这篇文章在讲Django的“日志功能-日志模块-日志输出”,不如说是在讲Pthon的“日志功能-日志模块-日志输出”,即Python的logging模块。 下面用一个实例来进行讲解。 …...

C现代方法(第23章)笔记——库对数值和字符数据的支持

文章目录 第23章 库对数值和字符数据的支持23.1 <float.h>: 浮点类型的特性23.2 <limits.h>: 整数类型的大小23.3 <math.h>: 数学计算(C89)23.3.1 错误23.3.2 三角函数23.3.3 双曲函数23.3.4 指数函数和对数函数23.3.5 幂函数23.3.6 就近舍入、绝对值函数和取…...

NSGA-II求解微电网多目标优化调度(MATLAB)

一、NSGA-II简介 NSGA-Ⅱ算法是Kalyanmoy Deb等人于 2002年在 NSGA 的基础上提出的&#xff0c;它比 NSGA算法更加优越&#xff1a;它采用了快速非支配排序算法&#xff0c;计算复杂度比 NSGA 大大的降低&#xff1b;采用了拥挤度和拥挤度比较算子&#xff0c;代替了需要指定的…...

7-9 jmu-python-班级人员信息统计

7-9 jmu-python-班级人员信息统计 分数 15 作者 郑如滨 单位 集美大学 输入a,b班的名单&#xff0c;并进行如下统计。 输入格式: 第1行:&#xff1a;a班名单&#xff0c;一串字符串&#xff0c;每个字符代表一个学生&#xff0c;无空格&#xff0c;可能有重复字符。 第2行:&am…...

Doris分区与分桶(八)

接上篇----------Doris 建表示例 Doris 支持两层的数据划分。第一层是 Partition&#xff0c;支持 Range 和 List 的划分方式。第二层是 Bucket&#xff08;Tablet&#xff09;&#xff0c;仅支持 Hash 的划分方式。 也可以仅使用一层分区。使用一层分区时&#xff0c;只支持…...

mac VScode 添加PHP debug

在VScode里面添加PHP Debug 插件,根据debug描述内容操作 1: 随意在index里面写个方法,然后用浏览器访问你的hello 方法,正常会进入下边的内容 class IndexController {public function index(){return 您好&#xff01;这是一个[api]示例应用;}public function hello() {phpin…...

53.最大子数组和

原题链接&#xff1a;53.最大子数组和 思路&#xff1a; 只需要判断当前和小于负数 如果小于则舍弃掉子序列即可&#xff0c; 子序列开头从下一个下标位置开始。 全代码&#xff1a; class Solution { public:int maxSubArray(vector<int>& nums) {int max_len I…...

455.分发饼干

原题链接&#xff1a;455.分发饼干 思路&#xff1a; 先使用大饼干喂饱大胃口的&#xff0c;再到剩余的里面用大饼干喂剩下大胃口的 &#xff0c;直到全部满足或者喂不了了为止。 全代码&#xff1a; class Solution { public:int findContentChildren(vector<int>&am…...

浏览器缓存控制讲解

缓存的作用 在你访问互联网中的任何资源其所产生的任何链路中的每一个节点几乎都会进行缓存&#xff0c;整个缓存体系和细节十分复杂。比如浏览器缓存&#xff0c;服务器缓存&#xff0c;代理服务器缓存&#xff0c;CDN缓存等。 但是缓存又十分重要&#xff0c;不可缺少&…...

批量插入SQL 错误 [933] [42000]: ORA-00933: SQL 命令未正确结束

使用DBeaver向【oracle数据库】插入大量数据 INSERT INTO Student(name,sex,age,address,birthday) VALUES(Nike,男,18,北京,2000-01-01) ,(Nike,男,18,北京,2000-01-01) ,(Nike,女,18,北京,2000-01-01) ,(Nike,女,18,北京,2000-01-01) ,(Nike,男,18,北京,2000-01-01) ,(Nike…...

北京数字孪生赋能工业制造,加速推进制造业数字化转型

随着新一代信息技术与实体经济深度融合进程的加快&#xff0c;企业数字化转型需求的提升&#xff0c;政策的持续支持&#xff0c;数字孪生将为工业制造、未来生活带来无限的可能。在制造业数字化大变革时代&#xff0c;以5G、大数据、物联网、人工智能等为代表的工业4.0&#x…...

【NLP】GPT 模型如何工作

介绍 2021 年&#xff0c;我使用 GPT 模型编写了最初的几行代码&#xff0c;那时我意识到文本生成已经达到了拐点。我要求 GPT-3 总结一份很长的文档&#xff0c;并尝试了几次提示。我可以看到结果比以前的模型先进得多&#xff0c;这让我对这项技术感到兴奋&#xff0c;并渴望…...

Linux下安装Foldseek并从蛋白质的PDB结构中获取 3Di Token 和 3Di Embedding

0. 说明&#xff1a; Foldseek 是由韩国国立首尔大学 (Seoul National University) 的 Martin Steinegger (MMseqs2 和 Linclust 的作者) 开发的一款用于快速地从大型蛋白质结构数据库中检索相似结构蛋白质的工具&#xff0c;可以用于计算两个蛋白之间的结构相似性&#xff0c…...

单元测试-java.lang.NullPointerException

报错信息 java.lang.NullPointerException 空指针异常 空对象引用 来源 对Controller层进行单元测试&#xff0c;解决完Spring上下文报错后继续报错。 解决 在测试方法执行前要为字段完成对象的注入&#xff0c;否则就报空指针异常。 测试例子 不完整启动Spring框架 pub…...

机器学习数据集整理:图像、表格

前言 如果你对这篇文章感兴趣&#xff0c;可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」&#xff0c;查看完整博客分类与对应链接。 表格数据 Sklearn 提供了 13 个表格型数据&#xff0c;且数据处理接口统一&#xff1b;LIBSVM 提供了 131 个表格型数据&a…...

Vue: Cannot find module @/xx/xx/xx.vue or its corresponding type declarations.

编辑器&#xff1a;Webstorm项目技术栈&#xff1a;vitevuets解决 1.vite.config.js设置别名resolve: {alias: {: path.resolve(__dirname, ./src),}, }, 2.src下创建globals.d.ts//通用声明 // Vue declare module *.vue {import { DefineComponent } from vue;const componen…...

怎样自动把网页截图发到微信群里

现在很多公司都在使用企业微信了&#xff0c;不但方便公司内部交流和客户交流&#xff0c;还能组建各种小组群&#xff0c;业务群。企业微信群提供一个机器人的功能&#xff0c;方便我们把公司业务信息&#xff0c;或来自外部的信息自动发布到群里。 这里研究一下如何向微信群…...

Netty实现websocket且实现url传参的两种方式(源码分析)

1、先构建基本的netty框架 再下面的代码中我构建了一个最基本的netty实现websocket的框架&#xff0c;其他个性化部分再自行添加。 Slf4j public class TeacherServer {public void teacherStart(int port) throws InterruptedException {NioEventLoopGroup boss new NioEve…...

深入理解C语言指针:基础概念、语法和实际应用

导言&#xff1a; 在C语言编程中&#xff0c;指针是一个强大而灵活的概念&#xff0c;它直接涉及到内存的操作&#xff0c;为程序员提供了更多的控制权。本文将深入探讨C语言指针的基础概念、语法规则以及实际应用&#xff0c;帮助读者更好地理解和运用这一重要的编程工具。 1…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...