refusing to merge unrelated histories的解决方案(本地/远程)
2023-09-10 22:32
git
SQL Server
Oracle
MySQL
PostgreSQL
NoSQL
大数据
其他数据库
Windows
Windows Server
Linux
macOS
嵌入式
APACHE
NGINX
redis
Docker
git
互联网
tomcat
Html/Css
JavaScript
jQuery
HTML5
Angular
React
Vue
小程序
架构设计
面向对象
设计模式
领域驱动设计
Android开发
iOS开发
Flutter
鸿蒙
其他手机开发
敏捷开发
项目与团队管理
软件工程其他
.NET
Java
Python
Go
PHP
C++
Ruby
Swift
C语言
Erlang
Delphi
Scala
R语言
Verilog
Dart
Rust
其他语言
asp
nodejs
读书区
翻译区
求职面试
计算机图形学
软件测试
菜谱
SEO技术
摄影
生活技巧
186
0
0
0
标题录入
封面图
一、本地合并时遇到refusing to merge unrelated histories的错误 如果git merge合并的时候出现 ``` refusing to merge unrelated histories ``` 的错误,原因是两个仓库不同而导致的,需要在后面加上--allow-unrelated-histories进行允许合并,即可解决问题 如果还不能解决问题,就把本地的remote删除,重新git remote add添加远程仓库,再按上面的方法来,问题解决。 二、远程push 的时候出现refusing to merge unrelated histories 本地仓库在想做同步远程仓库到本地为之后本地仓库推送到远程仓库做准备时报错了,错误如下: ``` fatal: refusing to merge unrelated histories ``` (拒绝合并不相关的历史) 出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。 查阅了一下资料,发现可以在pull命令后紧接着使用--allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)。 ``` $git pull origin master –allow-unrelated-histories ``` 以上是将远程仓库的文件拉取到本地仓库了。 紧接着将本地仓库的提交推送到远程github仓库上,使用的命令是: $ git push <远程主机名> <本地分支名>:<远程分支名> 也就是 ``` $git push origin master:master ``` pull git pull 命令基本上就是 git fetch 和 git merge 命令的组合体,Git 从指定的远程仓库中抓取内容,然后马上尝试将其合并进你所在的分支中。 从远程仓库中获得数据,可以执行: ``` $ git fetch [remote-name] ``` 这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。 但是注意的是 git fetch 并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。 如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 由于fetch命令后还要再做一步merge命令的操作,所以使用 git pull 命令来自动的抓取然后合并远程分支到当前分支。 (相当于一次执行fetch加merge命令)这可能会是一个更简单或更舒服的工作流程。
上一篇:
Git恢复之前版本的两种方法reset、revert
下一篇:
git创建新分支
标题录入,一次不能超过6条
有一种被监视的感觉?
T:0.022654s,M:158.11 KB
返回顶部
留言
留言
评论