Git 中的 Fatal: Refusing to Merge Unrelated Histories 错误
本文概述了Git 中解决 fatal: refusing to merge unrelated histories 错误所需的步骤。 我们通常在尝试将两个不相关的 Git 项目合并到一个分支时遇到这样的错误。
当接收分支有提交,并且克隆有不兼容的标签时,它会弹出。
fatal: refusing to merge unrelated histories 的常见场景
以下是一些您可能会遇到致命错误的情况:拒绝在 Git 中合并不相关的历史记录错误。
- 您有一个包含提交的本地存储库,并尝试从现有的远程存储库中提取。 由于历史不同,Git 不知道如何进行。 因此出现错误消息。
- 您的 .git 目录已损坏。
- 当您的分支机构位于不同的 HEAD 位置时。
解决 fatal: refusing to merge unrelated histories
我们可以通过允许不相关的合并来解决错误。 我们可以通过在拉取请求中添加 –allow-unrelated-histories 标志来做到这一点,如下所示。
$ git pull origin master --allow-unrelated-histories
Git 将允许您合并具有不相关历史的分支。 如果您的文件不冲突,这很容易。
上面的方法是最简单的; 但是,到达同一目的地的路线更长。
首先,您必须取消暂存所有当前提交并存储它们。 然后,您可以从远程存储库中提取并将存储应用到新的克隆。
这使得在发生合并冲突时更容易处理合并冲突。
要取消暂存上次提交中的所有文件,请使用以下命令。
$ git reset HEAD~
运行下面的命令来存储文件。
$ git stash
现在您有一个干净的工作树,您可以运行拉取请求,之后您将取消隐藏并将隐藏的更改应用到工作树。 你可以运行:
$ git stash pop
上面的命令将应用存储并丢弃它。 如果你想申请并保留 stash,你可以运行:
$ git stash apply
话虽如此,避免此错误消息的最简单方法是什么?
避免将远程存储库拉入包含提交的本地分支。 如果必须,请创建一个新分支并手动拉取和合并更改。
总之,当我们试图合并具有不同提交历史的分支时,会发生 fatal: refusing to merge unrelated historys 错误。 我们已经介绍了解决错误的两种方法以及如何最好地避免错误。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。