[问题解决方案](多人共同合并场景)git已merge到master分支代码且被同事代码覆盖如何回退

news2024/12/28 23:06:37

git已merge到master分支代码如何回退(多人共同合并)

  • 场景
  • 已经被同事代码覆盖的解决方案(无需强制合并权限)
    • 代码revert后又需要重新启用怎么办
  • 如果是未受保护分支代码的回退且只有你一人合并的代码 可以直接使用下面的命令即可
  • 如果只是commit没有push 剔除错误commit的方法
  • 如何查看commitId

场景

master分支自己开发的需求branch_a已经合并push,但是代码出现错误或者暂时不需要上线,此时同事A,与B 都在这之后提交了代码,怎么办。(master分支受保护不能回退,即使可以回退也需要联系已合并分支代码的同事重新合并,比较麻烦且容易出错)。楼主这边合并的代码涉及到第三方一起上线,因为比较紧急的回滚,所幸改动不大,就重新new分支,把改动的部分先剔除掉重新上线。回过头来找解决方案。

已经被同事代码覆盖的解决方案(无需强制合并权限)

git revert a6d1c4b5(回退版本的commitid 一般输前5位即可)

在这里插入图片描述

该命令是剔除非合并分支代码的commit,如果是 合并提交 的commit 需使用下面这条。(什么是合并分支 合并分支即为合并某个分支后在master生成的commit)

git revert -m 1 a6d1c4b5(回退版本的commitid 一般输前5位即可)

-m 后面一般填1 即可,1 代表merge前master分支代码的最后一次快照。2代表merge分支的上一次commit快照。git revert 做的是剔除哪俩个commit版本之间的改动,当然是回到merge前的最后一次快照。如果还不懂,可看这篇点这里

// 获取当前 合并提交 commit的父分支
git cat-file -p [MERGE_COMMIT_ID]将按顺序显示父分支。列出的第一个-m 1是第二个-m 2。

代码revert后又需要重新启用怎么办

使用 git revert 命令重新提交剔除后的代码,可是开发的需求还在commit2上面,这个时候在合并之前的分支会提示没有更改的东西,因为之前的commit已经提交过了。这个时候怎么办呢 revert revert的commitId即可

git revert commit5(图内的第五次提交)

如果是未受保护分支代码的回退且只有你一人合并的代码 可以直接使用下面的命令即可

git reset --hard a6d1c4b5(回退版本的commitid 一般输前5位即可)
// 强制提交
git push -f

该命令会将本地分支代码回退到指定的commitId ,然后需要强制重新提交。适用于快速回退的那种情况
详细可以了解 git撤销已push的代码
楼主拿下图举例,如果commit3和commit4都是提交的错误代码 直接
git reset --hard commit2Id 本地分支代码就会回到commit2的版本。
之后 git push -f 强制提交就可以了。不过这样做的话commit3和commit4提交的代码就会丢失。做之前先备份一次分支。
在这里插入图片描述

本命令适用于自己一个人开发或者目前只有自己提交代码的分支(如果是master分支,不能 git push -f 强制提交,如果已经提交到master分支且不能强制提交的情况不适用)

如果只是commit没有push 剔除错误commit的方法

git reset --soft a6d1c4b5(回退版本的commitid 一般输前5位即可)

**该命令适用于还没有提交到远端分支的情况。**在提交代码的时候,commit之后,然后我又在工作区添加了东西,这时候突然发现,上一次的commit有错误的文件,需要重新修改,但是我添加的东西又不想丢失,而且我想修改上一次的提交,这时候可进行git reset --soft 版本号
在这里插入图片描述

如图所示,git reset --soft commit2 后,commit3和commit4代码还会在本地,只是撤销了commit,最终再提交就变成commit5。这个命令不会丢失代码。但是如果代码已经合并到远程分支就需要用到git pull(解决冲突后提交)或者git push -f 强制提交。

如何查看commitId

如何查看commitid

希望本文可以帮到你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity3D日常开发】Unity3D中实现不规则Button按钮的精准响应

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在使用Unity3D开发中,可…

全志V853平台Camera模块开发框架详解

Camera 本章节介绍V853平台 Camera 模块的开发。 V853支持并口CSI、MIPI,使用VIN camera驱动框架。 Camera通路框架 VIN支持灵活配置单/双路输入双ISP多通路输出的规格 引入media框架实现pipeline管理 将libisp移植到用户空间解决GPL问题 将统计buffer独立为v…

Web大学生网页作业成品——抗击疫情网站设计与实现(HTML+CSS)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Vue3 样式绑定

Vue3 样式绑定1.Vue.js class2.class 属性绑定3.Vue.js style(内联样式)4.组件上使用 class 属性1.Vue.js class class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。 v-bind 在处理 class 和 style 时&#xf…

微信小程序反编译

本文转载于:https://www.cnblogs.com/one-seven/p/15524457.html 微信小程序反编译 微信文件保存位置\WeChat Files\Applet\小程序id_APP_.wxapkg 现在小程序是处于编码状态 github上下载一个python版的解密工具 https://github.com/superdashu/pc_wxapkg_decr…

【免杀前置课——Windows编程】十四、异步IO——什么是异步IO、API定位问题、APC调用队列

异步IO异步IO异步I/0注意事项:定位问题总解决方案APC调用队列异步IO 当我们读取一个文件时,一般情况下,线程是阻塞的,也就是说,当前线程在等待文件读取操作结束,这种方式叫同步IO。 Windows 在系统底层为用户实现了另外一种高效的…

【软考】-- 操作系统(下)

操作系统(下)第五节 文件管理🍕一、文件管理的基本概念1️⃣文件2️⃣文件目录3️⃣目录结构:🍔二、文件路径🍟三、文件命名规则🌭四、文件的基本操作🍿五、文件类型与扩展名🧂六、系…

Docker中安装Kibana

Kibana是一个免费且开放的用户界面,能够让你对Elasticsearch 数据进行可视化,并让你在Elastic Stack中进行导航。你可以进行各种操作,从跟踪查询负载,到理解请求如何流经你的整个应用,都能轻松完成。 在Docker Hub中选择最新版本的Kibaba镜像(选择版本为8.5.1),如下图…

bigquant选股模型主要有哪些?

bigquant选股模型一般常见的有七种,即多因子模型、风格轮动模型、行业轮动模型、资金流模型、动量反转模型、一致预期模型、趋势追踪模型等方面。不过要想样样都学会精通也是需要花费时间,以及精力等,那么,小编就从最基本的多因子…

DPDK Mempool

mempool是DPDK提供的内存池,其用处有: 由于DPDK使用UIO让DMA将网卡中的数据直接拷贝至用户态,因此需要一块固定的区域提供给DMA重复利用内存,提高效率 结构 mempool的主要结构如下图所示。 mempool为每个注册的lcore都分配了一…

Node.js - nvm管理node.js版本

使用nvm来管理node.js的版本真的很方便,这样就可以根据自己的需要来回切换node.js版本! 一、卸载本地安装的node.js版本 略 二、安装nvm管理工具 2.1、下载 https://github.com/coreybutler/nvm-windows/releases 2.2 安装 (1) 鼠标双击nvm-setup.exe文件…

【从零开始学习深度学习】7.自己动手实现softmax回归的训练与预测

基于上一篇文章读取fashion-minist数据集的基础,本文自己动手实现一个softmax模型对其进行训练与预测。 目录1. 自己动手实现softmax回归1.1 读取数据1.2 初始化模型参数1.3 实现softmax运算1.4 定义模型1.5 定义损失函数1.6 计算分类准确率1.7 训练模型1.8 预测完整…

面试碰壁15次!作为一个已经27岁的测试工程师,未来在何方....

3年测试经验原来什么都不是,只是给你的简历上画了一笔,一直觉得经验多,无论在哪都能找到满意的工作,但是现实却是给我打了一个大巴掌!事后也不会给糖的那种... 先说一下自己的个人情况,普通二本计算机专业…

LabVIEW编程LabVIEW开发SMP10辐射表例程与相关资料

LabVIEW编程LabVIEW开发SMP10辐射表例程与相关资料 ​​SMP10辐射表是荷兰Kipp&Zonen公司的一种用于测量短波辐射的产品,配有只能型接口,能够提供标准输出,能耗低。 作为一款副基准总辐射表,SMP10结合了CMP 11的传感器技术、SMP 11的智…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于自组网的空地一体化信息系统mf392

面对老师五花八门的设计要求,首先自己要明确好自己的题目方向,并且与老师多多沟通,用什么编程语言,使用到什么数据库,确定好了,在开始着手毕业设计。 1:选择课题的第一选择就是尽量选择指导老师…

[附源码]计算机毕业设计JAVA疫情期间回乡人员管理系统

[附源码]计算机毕业设计JAVA疫情期间回乡人员管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM…

基于Java的课程管理系统

摘 要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括课程管理系统的网络应用,在外国课程管理已经是很普遍的方式,不过国内的课程管理可能还处于起步阶段。课程管理系统具有下载课件功能。课程管理系…

数据结构(12)Dijkstra算法JAVA版:图的最短路径问题

目录 12.1.概述 12.1.1.无权图的最短路径 12.1.2.带权图的最短路径 1.单源最短路径 2.多源最短路径 12.2.代码实现 12.1.概述 12.1.1.无权图的最短路径 无权图的最短路径,即最少步数,使用BFS贪心算法来求解最短路径,比较好实现&#xf…

04-05 - 主引导程序的扩展(实验未完)

---- 整理自狄泰软件唐佐林老师课程 1. 突破限制的思路 限制:主引导程序的代码不能超过512字节 主引导程序完成: 完成最基本的初始化工作从存储介质中加载程序到内存将控制权交由新加载的程序执行…… 问题: 主引导程序如何加载存储介质中的…

Windows上Qt源码调试(使用VS2017调试qt5.12.0)

环境:vs2017 qt 5.12.0 msvc32和msvc64 1.下载源代码 把所用 Qt 库版本对应源码(qt-everywhere-src-5.12.0)下载来解压(https://download.qt.io/archive/qt/5.12/5.12.0/single/),或者安装时选择把源码&…