在git重新启动/开发过程中,git显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
在git重新启动/开发过程中,git显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
当前回答
1.解决问题
执行git pull原始主机时出现以下错误:
fatal: refusing to merge unrelated histories
运行以下命令之一
# It could be master
git pull origin master --allow-unrelated-histories
# Or main
git pull origin main --allow-unrelated-histories
# Or just try with origin
git pull origin main --allow-unrelated-histories
如果它打开nano编辑器,您只需按Ctrl+X保存并关闭即可。
现在在本地推送更改
git push
2.含义
错误:
当两个不相关的项目(即,不知道彼此存在且提交历史不匹配的项目)合并时,会出现“致命:拒绝合并不相关的历史”Git错误。
getmerge命令(来自GitHub文档):--允许不相关的历史记录:--允许不相关的历史记录
默认情况下,gitmerge命令拒绝合并不共享共同祖先的历史记录。当合并两个独立启动的项目的历史记录时,可以使用此选项覆盖此安全性。由于这是非常罕见的情况,因此默认情况下没有启用此功能的配置变量,也不会添加。
工具书类
推荐:“致命:拒绝合并不相关的历史”Git错误Git 2.9发行说明
有关堆栈溢出的更多信息
推荐使用--允许不相关的历史记录的一个很好的解释和警告:在拉到恢复的存储库时“拒绝合并不相关的记录”失败如果--允许不相关的历史记录不起作用:添加Git远程后“致命:拒绝合并不相关历史记录”Git拒绝合并不相关的历史。什么是“无关历史”?该用户使用GitHub桌面:如何解决在将项目上传到GitHub时“拒绝合并不相关的历史记录”的问题?Git失败,出现致命错误,拒绝将无关历史与Git推送合并
其他回答
首先,使用以下命令将远程更改拉到本地:
git pull origin branchname --allow-unrelated-histories
**在我的情况下,branchname是master。
当执行pull命令时,会发生冲突。你应该解决冲突。我使用Android Studio解决冲突。
当冲突解决后,合并就完成了!
现在你可以安全地推了。
对我来说,我把所有内容都移动到另一个文件夹,然后我做了git pull然后我将文件移回gitadd,然后gitcommit-m“messag”,然后gitpush
我也有同样的问题。问题很遥远,有一些东西阻止了这一点。
我首先创建了一个本地存储库。我将LICENSE和README.md文件添加到本地并提交。
然后我想要一个远程存储库,所以我在GitHub上创建了一个。在这里,我错误地选中了“用README初始化这个存储库”,这也在远程创建了一个README.md。
所以现在当我跑步时
git push --set-upstream origin master
我得到了:
error: failed to push some refs to 'https://github.com/lokeshub/myTODs.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes
(e.g. hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
现在为了克服这一点,我做到了
git pull origin master
导致以下错误:
From https://github.com/lokeshub/myTODs
branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories**
我尝试了:
git pull origin master --allow-unrelated-histories
结果:
From https://github.com/lokeshub/myTODs
* branch master -> FETCH_HEAD
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Automatic merge failed;
fix conflicts and then commit the result.
解决方案:
我删除了远程存储库,并创建了一个新的(我认为只有删除文件README才能起作用),之后,以下操作奏效:
git remote rm origin
git remote add origin https://github.com/lokeshub/myTODOs.git
git push --set-upstream origin master
我遇到了同样的问题:
这是我所做的:
git pull origin main --allow-unrelated-histories
我使用Visual Studio代码解决了合并冲突,然后我做到了:
git commit -m "commit message"
git push origin main
在我的案例中,错误是致命的:每次尝试都拒绝合并不相关的历史记录,尤其是远程添加Git存储库后的第一次拉取请求。
使用--allow不相关的历史标记以这种方式处理拉取请求:
git pull origin branchname --allow-unrelated-histories
根据2.9.0发行说明,git pull已被教导将--allow unrelated history选项传递给基础git merge