使用git pull origin master报错,fatal: refusing to merge unrelated histories
错误原因分析
你的本地仓库和远程仓库的初始提交不同
可能是本地初始化了新的仓库,或者历史记录被重写
Git 默认拒绝合并无关的历史记录以防止意外数据丢失
方案一:允许合并无关历史(最常用)
使用 --allow-unrelated-histories 参数强制合并
git pull origin master --allow-unrelated-histories
方案二:先设置允许无关历史,再拉取
1. 先获取远程更新
git fetch origin
2. 合并时允许无关历史
git merge origin/master --allow-unrelated-histories
方案三:强制覆盖本地(谨慎使用)
如果确定要完全使用远程仓库的内容,放弃本地所有更改:
1. 备份本地重要更改(如有)
2. 重置到远程状态
git fetch origin
git reset --hard origin/master