当前位置:   article > 正文

git 本地仓库与远程仓库的强制合并 refusing to merge unrelated histories_git 本地分支与远程分支不在同一个历史线时,强制与远程进行merge

git 本地分支与远程分支不在同一个历史线时,强制与远程进行merge

git 本地仓库与远程仓库的强制合并

错误提示:
refusing to merge unrelated histories
The local repository is out of date

过程是这样的

今天在本地新建了一个 git 仓库,并往里添加了一些文件,也在本地提交了几次。

这时候再去 github 上新建了个仓库,然后把 github仓库添加到本地的仓库中。

git remote add rime git@github.com:KyleBing/rime-wubi86-jidan.git
  • 1

可以看到已经添加了远程仓库:

在这里插入图片描述

pull 远程仓库的内容:

在这里插入图片描述

然后执行上传到 github 的时候出现下面错误:

在这里插入图片描述

错误原因

其实本地建的那个仓库和远程 github 仓库是两个独立的仓库,互不相关。
如果在建完 github 后再 git clone 到本地就不会出现该问题了。

解决办法

git pull 有个 --allow-unrelated-histories 参数,是为了合并两个不相关的仓库的历史,这个可以通过 git pull --h 查看帮助。

因为我们这两个仓库并没有冲突,可以直接合并:

git pull rime master --allow-unrelated-histories
  • 1

这时候出现填写合并信息的窗口
在这里插入图片描述

填写保存后,结果显示,合并成功。

在这里插入图片描述

后续提交

# 提交更新到 github
kyle-mbp:Rime Kyle$ git push rime master

# 结果
Counting objects: 38, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (38/38), 1.85 MiB | 305.00 KiB/s, done.
Total 38 (delta 20), reused 0 (delta 0)
remote: Resolving deltas: 100% (20/20), done.
To github.com:KyleBing/rime-wubi86-jidan.git
   27c22af..bf39b8c  master -> master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

查看历史记录是这样的,可以看到本地 master 和远程 master 已经合并在一起了:

在这里插入图片描述

在这里插入图片描述

再看一下远程仓库的提交记录,已经能看到本地的提交记录了。

结决

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/184434
推荐阅读
相关标签
  

闽ICP备14008679号