本地仓库推送到远程仓库: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

远程可以看到推送的内容

 至此,问题解决,所以,最好还是按照第一种方法操作,第二种方法如果同名的比较多,存在合并的问题,第三种会把远程的全部覆盖掉,不推荐。

 

转载于:https://www.cnblogs.com/uncleyong/p/10654244.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言全段字符的类别,言语理解规律整理d0c.doc

言语理解规律整理d0cAUTOTEXT "第 X 页 共 Y 页" \* MERGEFORMAT 第 PAGE 14 页 共 NUMPAGES 14 页言语理解规律整理言语理解之广义主旨题 :  主要的提问方式有:“主要说明、主要意思、主要谈论、主要讲述、核心意思、主要表达、主要告诉我们”这些表达…

小小闹钟wpf版

以前做过一个vc版的,最近看了一下wpf,于是有在这个模式下重写了程序,算是一个练习,工程下载地址:http://cid-fbe22b5b41948219.skydrive.live.com/self.aspx/.Documents/clock.rar转载于:https://www.cnblogs.com/hxf8…

C#开发微信门户及应用(18)-微信企业号的通讯录管理开发之成员管理

在上篇随笔《C#开发微信门户及应用(17)-微信企业号的通讯录管理开发之部门管理》介绍了通讯录的部门的相关操作管理,通讯录管理包括部门管理、成员管理、标签管理三个部分,本篇主要介绍成员的管理操作,包括创建、删除、更新、获取、获取部门成…

IDEA 运行spingboot时出现Process finished with exit code -1073741819 (0xC0000005)

经过多方查证,问题最终定位在金山词霸2016上,如果开启了金山词霸的取词和划意功能,就会出现此错误,估计是冲突吧。 解决办法:关掉金山词霸,或者把金山词霸的取词和划意功能关掉。经过尝试,发现只…

转载--【笔记】Asp.Net构架(Http请求处理流程)

转载--【笔记】Asp.Net构架(Http请求处理流程) 最近接触了一些Asp.Net开发人员,在聊到技术的时候,发现很多的Asp.Net开发人员都不明白在ASP.NET中一个页面请求的处理流程,今天自己在反思的过程中,发现我自己对这个也是一知半解&am…

语法分析器c语言 递归子程序,RecursiveSubroutine

RecursiveSubroutine介绍编译原理语法分析——递归下降子程序类,C实现。实验说明一、实验目标分别采用自顶向下和自底向上两种语法分析方法,编制一个语法分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析实验内容。二、实验…

SSL/TLS协议运行机制的概述

互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的…

margin塌陷

一:什么是margin塌陷 在标准文档流中,竖直方向的margin会出现叠加现象(水平方向不会塌陷),两个margin紧挨着,中间没有border或者paddingmargin直接接触,就产生了合并表现为较大的margin会覆盖掉…

c语言幼儿园管理系统,【资源学习】c语言程序代码,登录幼儿园200个小朋友的数据...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼编写程序,登录幼儿园200个小朋友的数据:姓名、性别、年龄、身高、体重、出生日期,分别按年龄排序后输出。要求:(1)登录数据用函数input()(2)按身高排序用函数sort()(3)输出排序结果用…

[转载]EXT核心API详解(一)-Ext

Ext类addBehaviors( Object obj ) : void对选择的元素 应用事件侦听器,事件名以附加在结尾,例如addBehaviors({// idfoo下所有的a标签加入click事件#foo aclick : function(e, t){// do something},// 用,分隔多个选择器#foo a, #bar span.some-classmouseover : function(){//…

Redis链表实现

链表在 Redis 中的应用非常广泛, 比如列表键的底层实现之一就是链表: 当一个列表键包含了数量比较多的元素, 又或者列表中包含的元素都是比较长的字符串时, Redis 就会使用链表作为列表键的底层实现。除了链表键之外, …

获取当前日期0点及23点59的时间戳

1.获取今天0点时间戳: const start new Date(new Date(new Date().toLocaleDateString()).getTime()); //如果不是当天换成你想获取0点的时间即可。 console.log(start); 2.获取今天23:59:59点时间戳: const start new Date(new Date(new Date(…

android 6.0 api 管理,Android 6.0(API23)权限申请问题

1.在API23以上,不止要在AndroidManifest.xml里面添加权限2.还要在JAVA代码中请求权限:// Storage Permissionsprivate static final int REQUEST_EXTERNAL_STORAGE 1;private static String[] PERMISSIONS_STORAGE {Manifest.permission.READ_EXTERNAL…

ecos内核概览--bakayi译

http://blog.csdn.net/wangzaiwei2006/article/details/6453423

linux optimizer,linux命令1—安装optimizer(示例代码)

ZendChina官方:下面介绍一下关于在linux环境下Zend Optimizer 3.3的安装方法。本篇文章是基于RHEL5架构的linux系统。(1)ZendOptimizer 3.3.3版本的安装。ZendOptimizer 3.3.3下载地址:安装:# wget http://down1.chinaunix.net/distfiles/Zen…

python 多进程与多线程配合拷贝文件目录

版本一:使用shutil进行拷贝 1 # -*- coding: utf-8 -*-2 # author: Tele3 # Time : 2019/04/02 下午 3:094 # 待改进:5 # 1.拷贝逻辑使用原生的io6 # 2.针对大文件在进程内部实现多线程方式进行拷贝7 8 9 import time10 import re11 import os12 import shutil13 import multi…

水晶报表加载失败的解决方法

问题描述:利用水晶报表开发的程序在运行了一段时间后,加载水晶报表失败.问题解决1.这个问题可能是由于windows临时文件夹下面的水晶报表文件没有及时清除的原因.打开临时文件夹,删除后就可以正常运行.2. (1).ReportDocumen实例必须为类成员 private ReportDocument prtp ne…

重定向

servlet的两种重定向方法的区别及应用一 问题&#xff1a; 在servlet/JSP编程学习中,发现有两种方法可以实现服务端输出重定向&#xff0c;一种是通过forward方法&#xff08;例如JSP中 的<jsp:forward page”OtherPage.jsp”/>&#xff09;&#xff0c;另一种则是通过运…

移动端事件

1. click事件 单击事件&#xff0c;类似于PC端的click&#xff0c;但在移动端中&#xff0c;连续click的触发有200ms ~ 300ms的延迟 2. touch类事件 触摸事件&#xff0c;有touchstart touchmove touchend touchcancel 四种之分 touchstart&#xff1a;手指触摸到屏幕会触发 to…

LINQ to SharePoint 试用感受, 欢迎讨论~

目前项目需要比较复杂的查询功能&#xff0c; 如果直接写CAML的话以后维护非常麻烦&#xff0c; 然后暂时用LINQ to SharePoint替代之&#xff5e; URL&#xff1a; http://linqtosharepoint.codeplex.com/ 最大的优点是我不用写CAML了&#xff0c; 非常容易实现一些简单的查询…