Git拒绝合并不相关的历史。什么是“无关的历史”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git拒绝合并不相关的历史。什么是“无关的历史”?相关的知识,希望对你有一定的参考价值。

在我的本地,我制作了新的文本文件 - > git add newfile.txt - > commit - > pull origin master - > ERROR!

“拒绝合并不相关的历史”。

什么是不相关的历史?什么是相关历史?

答案

我认为你已经在远程存储库中提交,当你拉出这个错误发生时。

使用此命令

git pull origin master --allow-unrelated-histories
git merge origin origin/master
另一答案

当某个地方的.git子目录丢失时,整个项目似乎从无处出现,因为所有的局部变化历史都被.git所包含。因此,您的本地更改变得无关紧要。这就是为什么所有的变化都被称为unrelated histories然后。

在这种情况下,git merge or pull请求将无法跟踪您在远程项目中添加更改的位置。因此,发生" refusing to merge unrelated histories"-错误。

在这种情况下,如果您尝试强制合并

git pull origin master --allow-unrelated-histories

git merge origin origin/master - 这些命令会产生很多冲突,因为它无法找到您的本地更改历史记录。

另一答案

当我在GitHub Enterprise中重命名一个存储库,然后按照以下步骤制作相同的前命名存储库时,我遇到了这个问题。

  1. 在远程创建repo示例
  2. 克隆到本地
  3. 将远程重命名为旧样本
  4. 在远程创建一个名为sample的新repo
  5. 试着从本地推出它
  6. 发生了错误。

奇怪的是我删除了本地仓库,但即使我尝试通过新创建的repo url克隆,git也会尝试克隆旧的仓库。即使新的URL存在于远程中,克隆URL也会自动重定向到旧的URL。我不知道这个原因来自服务器或本地git进程。

因此,发生错误是因为git进程无法将其本地提交历史记录与远程历史记录进行比较。

不相关的历史可以说明上述情况。

我最终删除了远程重命名的旧仓库,它解决了。

以上是关于Git拒绝合并不相关的历史。什么是“无关的历史”?的主要内容,如果未能解决你的问题,请参考以下文章

Git 拒绝合并不相关的历史。啥是“无关历史”?

Git 因致命错误而失败。拒绝将不相关的历史与 git push 合并?

致命:添加 git remote 后拒绝合并不相关的历史记录

将项目上传到github时如何解决“拒绝合并不相关的历史”?

text 致命的:拒绝合并不相关的历史

允许在 git rebase 中合并不相关的历史