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

git回退未commit、回退已commit、回退已push、合并某一次commit到另一个分支

文章目录

  • 1、git回退未commit
  • 2、git回退已commit
  • 3、git回退已push的代码
    • 3.1 直接丢弃某一次的push
    • 3.2 撤销push后,不丢弃改动,重新修改后要再次push
  • 4、合并某一次commit到另一个分支

整理几个工作上遇到的git问题。

1、git回退未commit

git回退未commit,即 在一个分支修改代码后,还没commit提交,不想要这些修改了,想回到刚开始的样子

  • 查看修改的文件
git status
  • 放弃单个文件的修改
// 注意:
// 1、--和文件路径之间是有个空格的
// 2、后面跟git status返回的文件的全路径
git checkout -- 你的文件path/your-file.java
  • 也可直接放弃所有修改
git checkout .

= = = = = = = = = = = 完成分割线 = = = = = = = = = = = =

两点补充说明:

  • 1) git checkout -b 分支名 是切换分支,注意-b

  • 2) git checkout -- main.go: 这个命令的作用是撤销对文件 main.go 的修改,它会丢弃工作区中 main.go 的更改,常用于恢复意外的修改或者放弃不需要的更改

  • 3) git checkoout --main.go时,可能会有以下弹窗:内存变更Memory Changes即你新加的那些变更,既然不要这些改动了,那就选Load File System Change即可,也可先Show Difference确认下不同
    在这里插入图片描述

2、git回退已commit

git回退已commit,即 在一个分支修改代码并commit到了本地仓库,但没push到远程仓库,想回到刚开始的样子。回退所有已commit的文件:

图形界面操作

打开git log,直接Drop Commit,注意,这样不仅会让这次commit从待push列表移除,且这次commit里对代码的修改也会回退到原样,即这次commit的修改会丢失

在这里插入图片描述

那这样,也可以解决上面的场景(git回退未commit),即先commit,再drop commit

指令操作

用指令的话:

  • 先看下当前分支的head位置,发现就是我刚commit的那次
git log --pretty=oneline --all --graph --abbrev-commit

在这里插入图片描述

  • 回退,丢弃一次提交,HEAD~n,其中 n 是你要回退的提交数。如,HEAD~2 表示回退两个提交,注意–hard相当于上面的Drop Commit,会放弃commit并丢失这次commit对代码的修改
git reset --hard HEAD~1

在这里插入图片描述

  • 如果只是想放弃commit,但这次commit对代码的修改需要保留,可以使用--soft
git reset --soft HEAD~1

回退某一个已commit的文件

如果只是放弃已commit文件里的某一个文件,可以先放弃提交:

git reset --soft HEAD~1

然后重新提交需要的文件,试了半天git checkout,好像不好使。

3、git回退已push的代码

图形界面操作

最近一次的push我不要了,那就选择上一次push的位置,右键Reset Current Branch to Here(注意这里改的是本地仓库,远程仓库此时还是那个样子

在这里插入图片描述

此时,上一次push的代码就在你的待commit列表里:

在这里插入图片描述

要改的话,就改,直接不要了的话,就git checkout --filename

在这里插入图片描述

强推到远程:

git push --force origin <branch-name>// 或者
git push -f origin <branch-name>

之所以强推到远程,是因为刚才reset,改变的是本地仓库,远程还是没变,因此需要强推到远程,直接git push也不行,因为此时远程仓库比本地版本超前,会报错non-fast-forward

指令操作

3.1 直接丢弃某一次的push

  • 用commit编号或者HEAD~n (注意,–hard是这次commit或者push的修改直接丢弃,–soft则是保留修改),如果是直接不要这次push的改动了,就用–hard,如果是想撤回这次push的改动后重新修改,就用–soft
git reset --hard <commit-hash>
git reset --hard HEAD~1

强推到远程:

git push --force origin <branch-name>// 或者
git push -f origin <branch-name>

3.2 撤销push后,不丢弃改动,重新修改后要再次push

git reset --soft HEAD~1

在这里插入图片描述

此时最好就别强推了,直接push,会有冲突,合并下冲突即可。

4、合并某一次commit到另一个分支

只把A分支的一次提交,合并到B分支:

  • 切换到A分支,找到要合过去的那次提交的哈希值,比如abcdef1234567890
git log
// q退出
  • 切换到B分支,将那一次commit合过来
git cherry-pick abcdef1234567890
  • 处理冲突

相关文章:

git回退未commit、回退已commit、回退已push、合并某一次commit到另一个分支

文章目录 1、git回退未commit2、git回退已commit3、git回退已push的代码3.1 直接丢弃某一次的push3.2 撤销push后&#xff0c;不丢弃改动&#xff0c;重新修改后要再次push 4、合并某一次commit到另一个分支 整理几个工作上遇到的git问题。 1、git回退未commit git回退未comm…...

yolov8pose 部署rknn(rk3588)、部署地平线Horizon、部署TensorRT,部署工程难度小、模型推理速度快,DFL放后处理中

特别说明&#xff1a;参考官方开源的yolov8代码、瑞芯微官方文档、地平线的官方文档&#xff0c;如有侵权告知删&#xff0c;谢谢。 模型和完整仿真测试代码&#xff0c;放在github上参考链接 模型和代码。 之前写了yolov8、yolov8seg、yolov8obb 的 DFL 放在模型中和放在后处理…...

程序员找工作之操作系统面试题总结分析

程序员在找工作面试时&#xff0c;操作系统方面可能会被问到的问题涵盖了多个核心知识点和概念。以下是对这些面试问题的总结和分析&#xff1a; 1. 核心硬件与体系结构 微机的核心部件&#xff1a;询问微机硬件系统中最核心的部件是什么&#xff08;CPU&#xff09;。处理机…...

TypeScript 迭代器和生成器详解

目录 迭代器&#xff08;Iterators&#xff09; 生成器&#xff08;Generators&#xff09; 使用场景 for..of vs. for..in 语句 for..of 循环 for..in 循环 区别总结 注意事项 总结 在 TypeScript 中&#xff0c;迭代器&#xff08;Iterators&#xff09;和生成器&am…...

echarts 极坐标柱状图 如何定义柱子颜色

目录 echarts 极坐标柱状图 如何定义柱子颜色问题描述方式一 在 series 数组中定义颜色方式二 通过 colorBy 和 color 属性配合使用 echarts 极坐标柱状图 如何定义柱子颜色 本文将分享在使用 echarts 的 极坐标柱状图 时&#xff0c;如何自定义柱子的颜色。问题本身并不难解决…...

JavaScript模块化

JavaScript模块化 一、CommonJS规范1、在node环境下的模块化导入、导出 2、浏览器环境下使用模块化browserify编译js 二、ES6模块化规范1、在浏览器端的定义和使用2、在node环境下简单使用方式一&#xff1a;方式二&#xff1a; 3、导出数据4、导入数据5、数据引用问题 一、Com…...

文件包含漏洞Tomato靶机渗透_详解

一、导入靶机 将下载好的靶机拖入到VMware中&#xff0c;填写靶机机名称(随便起一个)和路径 虚拟机设置里修改网络状态为NAT模式 二、信息收集 1、主机发现 用御剑扫描工具扫描虚拟机的NAT网段&#xff0c;发现靶机的IP是192.168.204.141 2、端口扫描 用御剑端口扫描扫描全…...

湖北汽车工业学院-高等数学考纲

湖北汽车工业学院2024年普通专升本考试的《高等数学》考试大纲已经公布。考试形式为闭卷笔试&#xff0c;满分100分&#xff0c;考试时间为90分钟。考试内容主要包括以下几个部分&#xff1a; 1. **函数、极限、连续**&#xff1a; 涉及函数概念、表示法、有界性、周期性、奇偶…...

Linux:Xshell相关配置及前期准备

一、Linux的环境安装 1、裸机安装或者是双系统 2、虚拟机的安装 3、云服务器&#xff08;推荐&#xff09;——>安装简单&#xff0c;维护成本低&#xff0c;学习效果好&#xff0c;仿真性高&#xff08;可多人一起用一个云服务器&#xff09; 1.1 购买云服务器 使用云服…...

模型 正态分布(通俗解读)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。随机世界的规律&#xff0c;大自然里的钟形曲线。 1 正态分布的应用 1.1 质量管理之六西格玛 六西格玛是一种旨在通过识别和消除缺陷原因来提高制造过程或业务流程质量的管理策略。我们先来了解下六…...

安装了Vue-pdf后,打包文件多出了worker.js和worker.js.gz

解决方式&#xff1a; 修改node_modules/worker-loader/dist/index文件 将 const filename _loaderUtils2.default.interpolateName(this, options.name || 中的 js/[hash].worker.js,更改为 static/js/[hash].worker.js...

使用excel生成国际化多语言js文件的脚本

1、创建一个空文件夹 2、终端 cnpm install xlsx3、在文件夹创建一个index.js // 导入 Node.js 内置的 fs 模块 const fs = require(fs); // 导入 xlsx 模块,用于处理 Excel 文件 const XLSX = require(xlsx);// 读取 Excel 文件 function readExcelFile(filePath) {const …...

【蝉联】摩斯再次获得“中国隐私计算市场份额第一”

蝉联第一 8月2日&#xff0c;全球领先的IT市场研究和咨询公司IDC发布了《中国隐私计算平台厂商市场份额&#xff0c;2023》报告。蚂蚁集团凭借商用隐私计算平台摩斯&#xff08;MORSE&#xff09;&#xff0c;以 35.3%的市场份额蝉联第一。 2023年&#xff0c;中国隐私计算平台…...

安装 qcloud-python-sts 失败 提示 gbk codecs decode byte 应该如何解决

安装 qcloud-python-sts 失败 提示 gbk codecs decode byte 应该如何解决 解决方案&#xff1a; 将windows 修改为utf-8编码格式 解决步骤如下&#xff1a; 1. 进入控制台 2. 点击区域 4. 点击管理 4.勾选UTF-8 5.重启系统即可...

mv:自动对焦代码

try:# The camera will now focus on whatever is in front of it.sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS) except:raise (Exception("Auto focus is not supported by your sensor/board combination."))...

【C++】数组案例 五只小猪称体重

题目&#xff1a;给出物质小猪体重&#xff0c;找出最大的体重的值并打印 思路&#xff1a;利用菽粟写入五只小猪的体重&#xff0c;让每一个元素都赋值给一个整型变量并每赋值一次就于下一个数组中的元素比&#xff0c;若是大就继续赋值给这个变量&#xff0c;若是小则不赋值…...

Bug 解决 | 后端项目无法正常启动,或依赖服务连接失败

目录 1、版本问题 2、依赖项问题 明明拷贝的代码&#xff0c;为什么别人行&#xff0c;我启动就报错&#xff1f; 这篇文章我就理一下最最常见的项目启动报错的两种原因&#xff01; 1、版本问题 比如明明项目的 Java 版本是 8&#xff0c;你非得拿 5 跑&#xff1f;那不是…...

Linux: network: mlx5_core crash;dos

https://bugzilla.redhat.com/show_bug.cgi?idCVE-2024-41090 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id8be915fc5ff9a5e296f6538be12ea75a1a93bdea https://www.openwall.com/lists/oss-security/2024/07/24/4 是tap的驱动向下传递的包…...

用手机剪辑视频素材从哪里找?用手机视频素材库分享

视频编辑是一门充满创意的艺术&#xff0c;无论是制作短片、广告还是个人Vlog&#xff0c;都离不开高质量的视频素材。如果自己拍摄的素材不能完全满足创作需求&#xff0c;或者需要更多样化的内容来丰富视频&#xff0c;那么优质的视频素材来源至关重要。下面推荐几个提供高品…...

DataStream API使用Sink及自定义Sink

目录 Data Sinks 案例 自定义Sink Human实体类 自定义RichSinkFunction MySQL Sink使用 测试 Data Sinks 数据接收器(Data sinks)消费数据流并将它们转发到文件、套接字、外部系统或打印它们。Flink带有各种内置输出格式,这些格式被封装在数据流的算子后面: …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...