【异常】Git报错 “fatal:refusing to merge unrelated histories“处理方法

本文解释了Git中出现的拒绝合并不相关历史记录错误,原因及如何在Git2.9.0之后使用`--allow-unrelated-histories`选项进行合并,同时提醒了合并可能带来的冲突处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息: "fatal:refusing to merge unrelated histories" (意思是拒绝合并不相关的历史记录)

这种错误通常是因为你尝试合并两个没有共同提交历史的 Git 仓库。这种情况经常发生在使用 git pull 或 git merge 将一个新的远程仓库与一个已存在的本地仓库合并时。

从 Git 2.9.0 版本开始,默认不允许合并没有共同历史的分支,这是一种安全措施,以防止不小心合并错误的分支。然而,在某些情况下,您可能确实需要合并这些历史不相关的分支,比如在合并两个起源不同的项目时。

为了解决这个问题,您可以在执行 git pull 或 git merge 时添加 --allow-unrelated-histories 选项。以下是具体的步骤:

# 拉取远程仓库内容并合并且重写历史
git pull origin master --allow-unrelated-histories

这样你的代码就能拉下来了,这是一种解决问题的快速方法,但请谨慎使用,因为他将两个不同的历史合并到一个新的共同历史中(请注意,这可能会导致冲突,我们需要解决这些冲突后再次提交,如果不想混合两个不相关的历史,可以创建一个新的分支然后将仓库的内容合并到该分支中)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值