记Git报错-refusing to merge unrelated histories

记Git报错-refusing to merge unrelated histories

问题

1、本地初始化了git仓库,放了一些文件进去并进行了add操作和commit提交操作;

$git add -A
$git commit -m "start 2018-06-06"

2、github创建了git仓库并建立了README文件;
记Git报错-refusing to merge unrelated histories
3、本地仓库添加了github上的git仓库作为远程仓库,起名origin;

$git remote add origin https://github.com/tielemao/TielemaoMarkdown

记Git报错-refusing to merge unrelated histories
4、问题来了,本地仓库在想做同步远程仓库到本地为之后本地仓库推送到远程仓库做准备时报错了,错误如下:

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
提交成功。

记Git报错-refusing to merge unrelated histories
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命令)这可能会是一个更简单或更舒服的工作流程。

原文:https://blog.csdn.net/u012145252/article/details/80628451

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112488.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月6日 下午8:00
下一篇 2021年11月6日 下午9:00


相关推荐

  • 配置Trunk接口

    配置Trunk接口1、Trunk接口1.1什么是TrunkTrunk接口属于干道,主干链路,通常用于交换机和交换机之间,通过一个接口传输多个vlan的数据包。当Trunk端口收到数据帧时,如果该帧不包含802.1

    2022年7月1日
    23
  • 什么是转义字符?为什么用转义字符?常见转义字符使用情况?

    什么是转义字符?为什么用转义字符?常见转义字符使用情况?什么是转义字符定义 转义字符是很多程序语言 数据格式和通信协议的形式文法的一部分 对于一个给定的字母表 一个转义字符的目的是开始一个字符序列 使得转义字符开头的该字符序列具有不同于该字符序列单独出现 没有转义字符开头 时的语义 因此转义字符开头的字符序列被叫做转义序列 一个转义字符可能并没有它自己的意思 因此所有转义序列具有 2 个或更多字符 简单来说就是在一些字符前加 使它具有其他意义作用一 是将一些有特殊含义字符 标识为普通字符 函数解析字符串时看到转义字符 就不再对其做特殊处理 而

    2026年2月26日
    2
  • sqlserver数据库置疑修复语句_sql2008数据库可疑解决方法

    sqlserver数据库置疑修复语句_sql2008数据库可疑解决方法SQL数据库修复的三大核心技术:1、磁盘阵列分析重组技术;2、数据库恢复与修复技术;3、SCSI盘物理故障开盘技术。至今已经成功恢复数百台服务器的SQL数据库,用户覆盖全国。导致SQL数据库丢失的原因:1、各种原因:误删除、误格式化、断电等造成的MSSQLSERVER数据库文件破坏。2、MSSQLSERVER数据库丢失了*.ldf文件,只有一个*.MDF文件,将是非

    2022年8月20日
    32
  • 此av非彼”AV”

    此av非彼”AV”作者:王亨 ,R语言中文社区专栏作者,跟着菜鸟一起一步步学习R语言,争做R语言高手。个人公众号:跟着菜鸟一起学R语言(微信ID:learn_R) 最近发现一个特别有意思的…

    2026年2月13日
    3
  • COM笔记-QueryInterface函数

    COM笔记-QueryInterface函数客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义:如下      InterfaceIUnknown      {           virtualH

    2022年6月16日
    37
  • javac使用「建议收藏」

    javac使用「建议收藏」javac使用

    2022年5月28日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号