本地仓库推送到远程仓库:fatal: refusing to merge unrelated histories
最近,在操作git的时候,遇到各种问题,下面总结一下。
最开始,我不是先把远程仓库拉取到本地 ,而是直接在本地先创建一个仓库,再git remote add添加远程仓库。
当然,gitee官方还是有操作指南(在创建仓库后会显示)
首先,mkdir创建目录,在目录中添加内容,然后初始化为一个仓库,最后添加、提交到本地仓库。
添加远程仓库(注意:此时不会检查远程仓库是否存在,push的时候,如果不存在,会报错)
git remote add origin git@gitee.com:UncleYong/jmeter_dubbo_demo.git
注意:如果未配置ssh方式通信,就需要使用https地址:https://gitee.com/UncleYong/jmeter_dubbo_demo.git,否则push的时候会报错【详见:https://www.cnblogs.com/UncleYong/p/10676922.html】
按照官方教程,执行git push -u origin master
报错:Updates were rejected because the remote contains work that you do not have locally
上图提示,向远程库推送的时候,要先进行pull,让本地新建的库和远程库进行同步
git pull,给出了两个操作方式
git pull 远程分支名 本地分支名
git pull origin master,报错fatal: refusing to merge unrelated histories
执行git branch --set-upstream-to=origin/master master,依然报错
或者不执行上面pull,直接git push -u origin master,报错:Updates were rejected because the tip of your current branch is behind its remote counterpart
网上有些说:先fetch,然后再merge,最后上传push,还是报错
错误提示:fatal: refusing to merge unrelated histories
其实这个问题是因为两个根本不相干的git库,一个是本地库,一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并。解决方法:
第一种方法: 先从远端库拉下来,把本地要加入的代码放到刚刚从远端库下载到本地的库中,然后提交上去,因为这样的话,你基于的库就是远端的库,这是一次update操作
第二种方法:使用这个强制合并的方法
git pull origin master --allow-unrelated-histories,后面加上--allow-unrelated-histories,把两个不相干的分支进行强行合并,后面再push就可以了
git push origin master:init,origin是别名(git remote add origin git@gitee.com:UncleYong/test.git),master是本地的分支名字,init是远端要推送的分支名字,本地必须要先add、commit完了,才能推上去
参考:http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories
https://dannyhz.iteye.com/blog/2412222
第三种方法:强制push,这样会使远程修改丢失,尤其是多人协作开发的时候,所以慎用。
git push -u origin master -f
下面选择第二种方法
当前远程分支就下面一个文件
本地两个文件,一个同名的文件
执行git pull origin master --allow-unrelated-histories
这里不移除,也不移动,就改个名
git pull origin master --allow-unrelated-histories
按i,输入内容,esc,:wq退出
因为上面是改名,所以需要添加到本地仓库
最后,git push -u origin master
远程可以看到推送的内容
至此,问题解决,所以,最好还是按照第一种方法操作,第二种方法如果同名的比较多,存在合并的问题,第三种会把远程的全部覆盖掉,不推荐。
本地仓库推送到远程仓库:fatal: refusing to merge unrelated histories的更多相关文章
- 【原】本地仓库推送到远程仓库:fatal: refusing to merge unrelated histories
最近,在操作git的时候,遇到各种问题,下面总结一下. 最开始,我不是先把远程仓库拉取到本地 ,而是直接在本地先创建一个仓库,再git remote add添加远程仓库. 当然,gitee官方还是有操 ...
- git将本地仓库推送到远程仓库
如何将本地仓库推送到公司远程仓库? 1:前提是你本地安装好git.先把远程git仓库克隆到本地 git clone 远程仓库的地址(SSH) 2: git branch //查看本地分支 3: g ...
- git 本地项目推送至远程仓库
1 在本地文件夹下创建一个 Git 仓库(如test目录下) git init 2 此时test文件夹即是你的maste主分支,你可以在改文件夹下写自己的项目 3 将test文件夹下的内容提交至暂存区 ...
- 使用git命令将本地项目推送到远程仓库
将本地项目推送到远程仓库 这里先放一张图, 有助于理解git命令 1. 在GitHub上新建一个仓库 注意不要勾选自动生成README.md文件, 否则会产生某些问题, README.md文件到时可以 ...
- Git 如何解决部署远程仓库出现 fatal: refusing to merge unrelated histories 问题
想把本地仓库的文件搬到Github,先将远程仓库和本地仓库关联起来: 先到Github上复制远程仓库的SSH地址: 运行 git remote add origin 你复制的地址 理论上—如果在创建 ...
- git pull fatal: refusing to merge unrelated histories
1.首先我github有个远程仓库,然后我本地有个仓库 本地仓库我新添加了一个文件,然后我去关联(git remote add origin git@github.com:qshilary/gitte ...
- GIt -- fatal: refusing to merge unrelated histories 问题处理
今晚碰到这个问题-- fatal: refusing to merge unrelated histories 想了一下,为什么就这样了? 因为我是先本地创建了仓库,并添加了文件,然后再到github ...
- git 出现 fatal: refusing to merge unrelated histories 错误
git pull 失败 ,提示:fatal: refusing to merge unrelated histories 其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远 ...
- Git:fatal: refusing to merge unrelated histories
如何去解决fatal: refusing to merge unrelated histories 先pull,因为两个仓库不同,发现refusing to merge unrelated histo ...
随机推荐
- 《十天学会 PHP》的重难点
记录一下我在学习<十天学会 PHP>(第六版)的过程中的遇到的重难点,该课程是学习制作一个简单的留言板. 准备工作 XAMPP(Apache + MySQL + PHP + PERL) 是 ...
- docker容器中用户自定bridge网络与默认bridge网络之间的区别
转载 https://blog.csdn.net/dkfajsldfsdfsd/article/details/79959534
- Idea破解到2100年的简单方法
第一步下载IntelliJ IDEA 2018.1.6版本,比这个更新的版本得你自己找注册码,因为旧的注册码对最新版本的软件不管用,所以建议还是下载这个版本,或者这个版本之前的也可以: 地址:http ...
- (七)linux 学习 -- 键盘高级操作技巧
The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap09.html 文章目录 移动光标 修改文本 ...
- python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)
11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...
- Ubuntu遇到apt-get update报错:"E: Could not get lock /var/lib/apt/lists/lock"
sudo apt-get update报错:"E: Could not get lock /var/lib/apt/lists/lock" 出现此问题的原因可能是有另外一个程序在运 ...
- 【C#】上机实验五
.设计一个控制台应用程序,定义一个MyPoint类,该类能表示二维平面空间的点,完成点类及运算符重载等相关功能.具体要求如下: ()MyPoint类中定义2个私有字段x和y及相应的构造函数. ()My ...
- MySQL Group Replication的安装部署
一.简介 这次给大家介绍下MySQL官方最新版本5.7.17中GA的新功能 Group Replication . Group Replication是一种可用于实现容错系统的技术.复制组是一组通过消 ...
- Pycharm安装文档教程
1 找到安装包 双击 2 3 可以更改安装路径 4 5 6 7 等待安装完成 8 作者:含笑半步颠√ 博客链接:https://www.cnblogs.com/lixy-88428977 声明:本文为 ...
- tkinter学习笔记_01
知识点目录: 1. 文本框 Label var = tk.StringVar() # 文本框 bg 背景颜色 fonnt 字体设置 width 长 height 高 l = tk.Label(root ...