解决Git merge时报错:refusing to merge unrelated histories问题

 更新时间:2024年10月21日 14:43:58   作者:洛上言  
在使用Git进行分支合并时,可能会遇到"refusing to merge unrelated histories"错误,这是因为尝试合并的两个分支具有不相关的历史记录,解决方法包括使用--allow-unrelated-histories参数来合并分支,保留各自历史,或者直接用一个分支的内容覆盖另一个分支

一、问题

今天将feature分支合并到master时报错:refusing to merge unrelated histories(拒绝合并无关历史)

报错原因:

当尝试从远程仓库"gitee.com:zpg13/system_school"的master分支拉取最新更新并合并到本地的master分支时,Git拒绝了这次合并,原因是两个分支拥有不相关的历史记录。

二、解决办法

1、将feature分支的东西追加到master分支中

这种方法会保留master分支里原本的内容,并且 future的历史记录 会 合并到 master的历史记录中

步骤:

首先切换到master分支

git checkout master

然后在执行merge指令的时候添加上: --allow-unrelated-histories 参数

git merge feature --allow-unrelated-histories

执行

git merge feature --allow-unrelated-histories

命令后,可能会出现以下界面:Git要求您提供一个提交消息来解释为什么这次合并是必要的。

请在编辑器中输入您想要的提交消息,然后按Esc键退出编辑模式,再按:wq输入并按Enter键保存并退出Vim编辑器。

如果您不想进行任何合并操作,只需按Esc键退出编辑模式,然后在命令行中输入:q并按Enter键退出Vim编辑器。

请注意,如果存在合并冲突,您需要先解决这些冲突,然后再继续合并操作。

此时就会提示合并成功,然后正常推送到远程分支即可

2、将feature里的东西直接覆盖到master分支中

这种方法会丢失master中的所有数据,并且将feature中的历史记录同步到master的历史记录中

先来看看合并前feature的历史记录:

然后再看看合并前master的历史记录:

合并过程:

首先切换到master分支

git checkout master

然后使用以下命令进行合并

git reset --hard origin/feature

再次查看master分支的日志时可以发现,master中的历史记录已经替换成了feature的历史记录

然后推送的时候使用 -f 参数,强推到远程仓库即可

git push origin master -f

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 深度学习开源框架基础算法之傅立叶变换的概要介绍

    深度学习开源框架基础算法之傅立叶变换的概要介绍

    今天小编就为大家分享一篇关于深度学习开源框架基础算法之傅立叶变换的概要介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • vs2019生成dll并调用的实现示例

    vs2019生成dll并调用的实现示例

    这篇文章主要介绍了vs2019生成dll并调用的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Git如何修改已提交的commit注释

    Git如何修改已提交的commit注释

    这篇文章主要介绍了Git如何修改已提交的commit注释问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Git Revert特定文件/路径的实现方法

    Git Revert特定文件/路径的实现方法

    文章介绍了四种方法来恢复Git仓库中单个文件到指定提交,包括使用`git checkout`、`git restore`、手动Revert和使用IDEA图形化操作
    2025-12-12
  • Unity中webgl使用避雷要素指南

    Unity中webgl使用避雷要素指南

    这篇文章主要介绍了Unity中webgl使用过程中会踩过的坑,以及如何解决这些问题,有需要的朋友可以借鉴参考下,希望可以对广大读者朋友能够有所帮助
    2021-09-09
  • 性能测试QPS+TPS+事务基础知识分析

    性能测试QPS+TPS+事务基础知识分析

    本篇文章是性能测试基础篇,主要介绍了性能测试中对QPS+TPS+事务的基础知识分析,有需要的朋友可以借鉴参考下,希望可以对广大读者有所帮助
    2021-09-09
  • 使用sublime Text3过程中的各种问题的解决

    使用sublime Text3过程中的各种问题的解决

    本文主要介绍了使用sublime Text3过程中的各种问题的解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 树莓派安装mjpg-streamer使用摄像头的方法

    树莓派安装mjpg-streamer使用摄像头的方法

    这篇文章主要介绍了树莓派安装mjpg-streamer使用摄像头,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • git设置忽略文件.gitignore的方法

    git设置忽略文件.gitignore的方法

    这篇文章主要介绍了git设置忽略文件.gitignore的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vscode 前端最佳配置小结

    vscode 前端最佳配置小结

    这篇文章主要介绍了vscode 前端最佳配置小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04

最新评论