在我的本地,我制作了新的文本文件 - > 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 url克隆,git也会尝试克隆旧的仓库。即使新的URL存在于远程中,克隆URL也会自动重定向到旧的URL。我不知道这个原因来自服务器或本地git进程。
因此,发生错误是因为git进程无法将其本地提交历史记录与远程历史记录进行比较。
不相关的历史可以说明上述情况。
我最终删除了远程重命名的旧仓库,它解决了。