修复 fatal: refusing to merge unrelated histories 问题

业余杂谈 herman 321浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:codedq,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:codedq,之前的微信号好友位已满,备注:返现
饿了么大量招人,我内推!Java 方向!薪资不设上限,工作年龄不限!工作地点限魔都,可电话面试!简历,发我微信:codedq
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

最近在提交一个新项目时,遇到了 fatal: refusing to merge unrelated histories 问题,在这里做一个笔记。

最近一台代码服务器到期了,刚好有一个新项目,需要提交,需要迁移。在提交一个时,遇到了 fatal: refusing to merge unrelated histories 问题,在这里做一个笔记。

首先,我在打架好的代码服务器上,使用 gitlab 初始化了一个项目,并提交了 readme.md。

然后,我在本地的项目目录中,执行了 git init。

接着执行,git commit -m ‘first commit’。

再然后就按部就班的关联项目。

git remote add origin 我的远程库地址

# 举例:
git remote add origin https://github.com/xxxx/codedq.git

关联之后,进行代码 pull 合并。

git pull --rebase origin master

最后,使用 git push 把本地库的内容推送到远程。

git push -u origin master

原本以为这样就 ok 了,谁知道,报错了。fatal: refusing to merge unrelated histories。

由于这是一个初始化项目,所以我就采用强制推送。

git push -f origin master

然后,又失败了,提示我权限不足。我利用管理员账号给我分配的权限太小了,限制了强制推送。

不得已,我只能使用 allow-unrelated-histories 参数了。

git pull origin master --allow-unrelated-histories

执行上面的命令后,再执行 git push。

git push -u origin master

给大家说一下,限制 git push -f 是完全合理的。大家一定要注意这个危险命令。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号1:xmtxtt(5000人已满),微信号2:xttblog(5000人已满),微信号3:codedq(超3800)。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 修复 fatal: refusing to merge unrelated histories 问题