Saki's 研究记录

git fatal: 拒绝合并无关的历史的错误解决[亲测有效]

字数统计: 251阅读时长: 1 min
2023/06/06

问题描述

旧项目在拉取/推送版本时失败,报错如下:

1
2
3
4
> git pull origin master
来自 gitlab.hahaha.com:backend/server
* branch master -> FETCH_HEAD
致命错误:拒绝合并无关的历史

1
2
3
4
5
6
7
> git push origin master
To gitlab.hahaha.com:backend/server.git
! [rejected] master -> master (non-fast-forward)
错误:无法推送一些引用到 'gitlab.hahaha.com:backend/server.git'
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见
提示:'git push --help' 中的 'Note about fast-forwards' 小节。

解决方法

pull时候, 添加–allow-unrelated-histories参数即可。
命令如下:

1
2
3
4
5
6
7
> git pull origin master --allow-unrelated-histories
来自 gitlab.hahaha.com:backend/server
* branch master -> FETCH_HEAD
Merge made by the 'ort' strategy.
README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 README.md

原因

本地初始化的项目与git远程仓库中的版本不一致, 导致无法提交。

以上。

CATALOG
  1. 1. 问题描述
  2. 2. 解决方法
  3. 3. 原因