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 错误。 我们已经介绍了解决错误的两种方法以及如何最好地避免错误。
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类:Git
-
在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。
Git 如何重命名本地分支
发布时间:2023/04/09 浏览次数:64 分类:Git
-
大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。
重命名 Git 存储库中的文件和目录
发布时间:2023/04/09 浏览次数:102 分类:Git
-
在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。
在 Git 中取消初始化存储库
发布时间:2023/04/09 浏览次数:187 分类:Git
-
本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。
Git 仓库名称该如何命名
发布时间:2023/04/09 浏览次数:208 分类:Git
-
使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。
配置 Git 以忽略文件模式更改
发布时间:2023/04/09 浏览次数:67 分类:Git
-
本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。
在 Git 中暂存已删除的文件
发布时间:2023/04/09 浏览次数:93 分类:Git
-
本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?
在 Git 中显示冲突文件
发布时间:2023/04/09 浏览次数:139 分类:Git
-
本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。