git 合并远程分支(带冲突)

2024-09-07 17:48
文章标签 远程 合并 git 冲突 分支

本文主要是介绍git 合并远程分支(带冲突),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

应用场景

团队中两人同时fetch了一个分支。 第一个人修改后提交,第二个人提交就失败。失败信息如下:

  1. error: failed to push some refs to 'git@git.oschina.net:jacarrichan/jacarrichan.git'  
  2. hint: Updates were rejected because the remote contains work that you do  
  3. hint: not have locally. This is usually caused by another repository pushing  
  4. hint: to the same ref. You may want to first integrate the remote changes  
  5. hint: (e.g., 'git pull ...') before pushing again.  
  6. hint: See the 'Note about fast-forwards' in 'git push --help' for details.  

虽然使用“git push -f  ”也可以提交,但是会将remote上第一个人的改动冲掉,太暴力了,不太好。下面说的是手动合并.  


解决办法

1,获取远程分支更新,也就是第一个人提交的:

  1. git fetch origin  


2,尝试由git带来的自动合并:

  1. git merge origin/master     ##将origin/master合并到当前分支  
如果 两个分支的内容有差异 ,否则提示合并失败。

  1. Auto-merging README.md  
  2. CONFLICT (content): Merge conflict in README.md  
  3. Automatic merge failed; fix conflicts and then commit the result.  



看下当前的状态,寻找帮助信息:
  1. jacarri@JACARRI-PC /F/temp/mvn/jacarrichan (master|MERGING)  
  2. $ git status  
  3. # On branch master  
  4. # You have unmerged paths.  
  5. #   (fix conflicts and run "git commit")  
  6. #  
  7. # Unmerged paths:  
  8. #   (use "git add <file>..." to mark resolution)  
  9. #  
  10. #       both modified:      README.md  
  11. #  
  12. no changes added to commit (use "git add" and/or "git commit -a")  



现在我们再来看一下工作目录里的“README.md”文件的内容:

  1. jacarri@JACARRI-PC /F/temp/mvn/jacarrichanc (master|MERGING)  
  2. $ cat README.md  
  3. #jacarrichan  
  4.   
  5.   
  6.   
  7.   
  8. Only for ochina git test.  
  9.   
  10.   
  11. <<<<<<< HEAD  
  12. 这是第二个人提交的......................  
  13. =======  
  14. 这是第一个人提交的  
  15. >>>>>>> origin/master  
  16.   
  17.   
  18. ![我的博客](http://service.t.sina.com.cn/widget/qmd/1597668397/99810a10/1.png ""  
  19. )  

“<<<<<<< HEAD“下面就是当前版本里的内容;而“=======”之下,“>>>>>>>origin/master”之上则表示测试分支里与之对应的有冲突的容。修复冲突时我们要做的,一般就是把“ <<<<<<< HEAD”,“=======”和“ >>>>>>> test”这些东东先去掉,然后把代码改成我们想要的内容。


需安装配置BeyondCompare,下载地址 

  1. [diff]     
  2.     tool = bc3  
  3. [difftool "bc3"]     
  4.     cmd = \"D:/application/BeyondCompare/BCompare.exe\" \"$LOCAL\" \"$REMOTE\"    
  5.     trustExitCode = true      
  6. [difftool]     
  7.     prompt = false     
  8. [merge]  
  9.     tool = bc4     
  10. [mergetool "bc4"]     
  11.     cmd = \"D:/application/BeyondCompare/BCompare.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"     
  12.     trustExitCode = true  


手动合并

  1. jacarri@JACARRI-PC /F/temp/mvn/jacarrichanc (master|MERGING)  
  2. $ git mergetool  README.md  
  3. Merging:  
  4. README.md  
  5.   
  6. Normal merge conflict for 'README.md':  
  7.   {local}: modified file  
  8.   {remote}: modified file  
  9. Hit return to start merge resolution tool (bc4):  

备注:图片上方的三个深蓝色圈住的和配置文件中的这个对应“ \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"”.



 按照上述规则,我选择把双方的内容都添加进来,你采纳第一个或者另外写别的内容都可以。  保存后重新提交就顺利.

这篇关于git 合并远程分支(带冲突)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145736

相关文章

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码