Git:merge合并、冲突解决、强行回退的终极解决方案

news2025/1/11 12:22:35

首先还是得避免冲突的发生,无法避免时再去解决冲突,避免冲突方法:

  • 时常做pull、fatch操作,不要让自己本地仓库落后太多版本;
  • 在分支操作,如切换分支、合并分支、拉取分支前,及时清理Change,保持自己分支洁净;
  • 在合并分支时,先拉取后合并,最好是切换到要合并的分支,拉取代码,再切回自己的分支拉取合并分支的代码;
  • 对于不确定的分支,在操作前,先比较分支的差异,做到心里有数;
  • 合并代码,慎重使用Cherry-Pick,可能会出现冲突;

1、合并处理

方法一:git网址上提交合并请求

方法二:idea 操作 merge

操作原理:当前分支一定是目标分支,一定到检出到目标分支

目标分支:就是合入的远程总分支:如dev、master)

源分支: 就是你自己的开发分支

idea 的 merge 操作页面如下:

2、冲突解决方案

如果不想解决,点Cancel,后面可以在分支上选择Resolve Conflicts...(继续解决),或者点Abort Merge(放弃合并)

Abort Merge:放弃合并,Abort,夭折的意思;

Resolve Conflicts…:解决冲突;

如果是Cherry-Pick出现的冲突,在下拉列表最下面,会有Abort Cherry-Pick的选项

 手动处理冲突的时候,需要看清楚左右两边的内容准确合入中间的最终结果中,不要冲掉远程的内容代码

3、回退已经merge后的代码

这里的回退代码提交有两种情况:

  • 回退合并之后并未push
  • 回退合并之后并push(也就是强行回退)

3.1、回退合并之后并未push

这种情况比较好处理了就,找到git合并记录,通过reset-hard回退(hard是强回退,不保留本地的回退记录,这时你就要保证要回退的内容在自己的开发分支上是已经push过的,这样就不会丢失reset-hard的代码)

操作reset之后,本地的合并记录就清理了,然后重新合并处理 

3.2、回退合并之后并push(也就是强行回退)

第一步先操作这一步:git reset hard

第二步:执行 git push force

通过命令执行,强行退回更新分支

至此,你合并并push的代码被强行回退,但是在你的开发分支还是有你的回退之前的代码的,重新提交合并请求即可!

4、Git cherry-pick 功能

Git:cherry-pick 的功能介绍及使用流程 >>点击查看....

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

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

相关文章

国内外网络安全政策动态(2024年12月)

▶︎ 1.2项网络安全国家标准获批发布 2024年12月6日,根据2024年11月28日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告(2024年第29号),全国网络安全标准化技术委员会归口的2项网络安全国家标准正…

新兴的开源 AI Agent 智能体全景技术栈

新兴的开源 AI Agent 智能体全景技术栈 LLMs:开源大模型嵌入模型:开源嵌入模型模型的访问和部署:Ollama数据存储和检索:PostgreSQL, pgvector 和 pgai后端:FastAPI前端:NextJS缺失的一环:评估和…

通过一个含多个包且引用外部jar包的项目实例感受Maven的便利性

目录 1 引言2 手工构建3 基于Maven的构建4 总结 1 引言 最近在阅读一本Java Web的书籍1时,手工实现书上的一个含多个Packages的例子,手工进行编译、运行,最终实现了效果。但感觉到整个构建过程非常繁琐,不仅要手写各个源文件的编…

信息科技伦理与道德3:智能决策

1 概述 1.1 发展历史 1950s-1980s:人工智能的诞生与早期发展热潮 1950年:图灵发表了一篇划时代的论文,并提出了著名的“图灵测试”;1956年:达特茅斯会议首次提出“人工智能”概念;1956年-20世纪70年代&a…

Sql 创建用户

Sql server 创建用户 Sql server 创建用户SQL MI 创建用户修改其他用户密码 Sql server 创建用户 在对应的数据库执行,该用户得到该库的所有权限 test.database.chinacloudapi.cn DB–01 DB–02 创建服务器登录用户 CREATE LOGIN test WITH PASSWORD zDgXI7rsafkak…

【再谈设计模式】观察者模式~对象间依赖关系的信使

一、引言 在软件工程、软件开发的世界里,设计模式如同建筑蓝图中的经典结构,帮助开发者构建更加灵活、可维护和可扩展的软件系统。观察者模式就是其中一种极为重要的行为型设计模式,它在处理对象间的一对多关系时展现出独特的魅力。 二、定义…

如何设计一个注册中心?以Zookeeper为例

这是小卷对分布式系统架构学习的第8篇文章,在写第2篇文章已经讲过服务发现了,现在就从组件工作原理入手,讲讲注册中心 以下是面试题: 某团面试官:你来说说怎么设计一个注册中心? 我:注册中心嘛&…

【Unity3D】导出Android项目以及Java混淆

Android Studio 下载文件归档 | Android Developers Android--混淆配置(比较详细的混淆规则)_android 混淆规则-CSDN博客 Unity版本:2019.4.0f1 Gradle版本:5.6.4(或5.1.1) Gradle Plugin版本&#xff…

2024 China Collegiate Programming Contest (CCPC) Zhengzhou Onsite 基础题题解

今天先发布基础题的题解,明天再发布铜牌题和银牌题的题解 L. Z-order Curve 思路:这题目说了,上面那一行,只有在偶数位才有可能存在1,那么一定存在这样的数,0 ,1,100, 10000,那么反之,我们的数…

【FlutterDart】tolyui_feedback组件例子效果(23 /100)

上效果图 有12种位置展示效果;很能满足大部分需要 代码如下: import package:flutter/material.dart; import package:tolyui_feedback/tolyui_feedback.dart;class TolyTooltipDemo extends StatelessWidget {const TolyTooltipDemo({super.key});ove…

服务器攻击方式有哪几种?

随着互联网的快速发展,网络攻击事件频发,已泛滥成互联网行业的重病,受到了各个行业的关注与重视,因为它对网络安全乃至国家安全都形成了严重的威胁。面对复杂多样的网络攻击,想要有效防御就必须了解网络攻击的相关内容…

Mermaid 使用教程之流程图 - 从入门到精通

本文由 Mermaid中文文档 整理而来,并且它同时提供了一个Mermaid在线编辑器。 Mermaid 流程图 - 基本语法​ 流程图由节点(几何形状)和边(箭头或线)组成。Mermaid代码定义了如何创建节点和边,并适应不同的…

Flink系统知识讲解之:如何识别反压的源头

Flink系统知识之:如何识别反压的源头 什么是反压 Ufuk Celebi 在一篇古老但仍然准确的文章中对此做了很好的解释。如果您不熟悉这个概念,强烈推荐您阅读这篇文章。如果想更深入、更低层次地了解该主题以及 Flink 网络协议栈的工作原理,这里有…

网络-ping包分析

-a:使 ping 在收到响应时发出声音(适用于某些操作系统)。-b:允许向广播地址发送 ping。-c count:指定发送的 ping 请求的数量。例如,ping -c 5 google.com 只发送 5 个请求。-i interval:指定两…

国产linux系统(银河麒麟,统信uos)使用 PageOffice 实现后台生成单个PDF文档

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。 PageOffice 版本&…

Win10微调大语言模型ChatGLM2-6B

在《Win10本地部署大语言模型ChatGLM2-6B-CSDN博客》基础上进行,官方文档在这里,参考了这篇文章 首先确保ChatGLM2-6B下的有ptuning AdvertiseGen下载地址1,地址2,文件中数据留几行 模型文件下载地址 (注意&#xff1…

Windows11环境下设置MySQL8字符集utf8mb4_unicode_ci

1.关闭MySQL8的服务CTRLshiftESC,找到MySQL关闭服务即可 2.找到配置文件路径(msi版本默认) C:\ProgramData\MySQL\MySQL Server 8.0 3.使用管理员权限编辑my.ini文件并保存 # Other default tuning values # MySQL Server Instance Config…

js代理模式

允许在不改变原始对象的情况下,通过代理对象来访问原始对象。代理对象可以在访问原始对象之前或之后,添加一些额外的逻辑或功能。 科学上网过程 一般情况下,在访问国外的网站,会显示无法访问 因为在dns解析过程,这些ip被禁止解析,所以显示无法访问 引…

vue3 + ts + element-plus(el-upload + vuedraggable实现上传OSS并排序)

这里创建项目就不多说了 安装element-plus npm install element-plus 安装vuedraggable npm install vuedraggable 安装ali-oss npm install ali-oss 这里是封装一下:在components创建文件夹jc-upload>jc-upload.vue 在封装的过程中遇到了一个问题就是dr…

理解Unity脚本编译过程:程序集

https://docs.unity3d.com/Manual/script-compilation.html 关于Unity C#脚本编译的细节,其中一个比较重要的知识点就是如何自定义Assembly。 预定义的assembly 默认情况下,Unity会按照这个规则进行编译。 PhaseAssembly nameScript files1Assembly-…