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中重命名一个存储库,然后按照以下步骤制作相同的前命名存储库时,我遇到了这个问题。
- 在远程创建repo示例
- 克隆到本地
- 将远程重命名为旧样本
- 在远程创建一个名为sample的新repo
- 试着从本地推出它
- 发生了错误。
奇怪的是我删除了本地仓库,但即使我尝试通过新创建的repo url克隆,git也会尝试克隆旧的仓库。即使新的URL存在于远程中,克隆URL也会自动重定向到旧的URL。我不知道这个原因来自服务器或本地git进程。
因此,发生错误是因为git进程无法将其本地提交历史记录与远程历史记录进行比较。
不相关的历史可以说明上述情况。
我最终删除了远程重命名的旧仓库,它解决了。
以上是关于Git拒绝合并不相关的历史。什么是“无关的历史”?的主要内容,如果未能解决你的问题,请参考以下文章
Git 因致命错误而失败。拒绝将不相关的历史与 git push 合并?
致命:添加 git remote 后拒绝合并不相关的历史记录