详解git无法pull仓库refusing to merge unrelated histories

详解git无法pull仓库refusing to merge unrelated histories

本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决

fatal: refusing to merge unrelated histories

我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。

先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull

因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,这句代码是在git 2.9.2版本发生的,最新的版本需要添加--allow-unrelated-histories

假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master ----allow-unrelated-histories需要知道,我们的源可以是本地的路径

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Git 教程之创建仓库详解

    Git 创建仓库 本章节我们将为大家介绍如何创建一个 Git 仓库. 你可以使用一个已经存在的目录作为Git仓库. git init Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令. 在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变(不像 SVN 会在每个子目录生成 .svn 目录,Git 只在仓

  • Git 教程之远程仓库详解

    Git 远程仓库 Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作. 你就需要将数据放到一台其他开发人员能够连接的服务器上. 本例使用了 Github 作为远程仓库,你可以先阅读我们的 Github 简明教程. 添加远程库 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下: git remote add [shortname] [url] 本例以Github为例作为远程仓

  • git远程仓库_动力节点Java学院整理

    如果你已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方. 没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别.为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三):远程仓库. Git是分布式版本控制系统,同一个Git仓

  • 详解git无法pull仓库refusing to merge unrelated histories

    详解git无法pull仓库refusing to merge unrelated histories 本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决 fatal: refusing to merge unrelated histories 我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传. 先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull 因为他们是两个

  • 详解Git建立本地仓库的两种方法

    Git是一种分布式版本控制系统,通常这类系统都可以与若干远端代码进行交互.Git项目具有三个主要部分:工作区,暂存目录,暂存区,本地目录: 安装完Git后,要做的第一件事,就是设置用户名和邮件地址.每个Git提交都使用此信息,并且将它永久地烘焙到您开始创建的提交中: $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 之后我们可以建立一个本地仓库.

  • 详解git merge 与 git rebase的区别

    前言 其实这个问题困扰我有一段时间,相信也有人和我一样有这个困扰,网上已有很多这种解释了,但是要么就是无图,要么就是解释的很乱,没太看懂,经过自己对git的使用,加上向同事请教,算是理解了这个问题,所以写下来分享一下,我尽量详细说明 merge与rebase的区别 假设我们有如下图一所示仓库,该仓库有master和develop两个分支,且develop是在(3.added merge.txt file)commit处从master拉出来的分支. merge 假设现在HEAD在(6.added

  • 详解git中配置的.gitignore不生效的解决办法

    详解git中配置的.gitignore不生效的解决办法 前言: 通常我们希望放进仓库的代码保持纯净,即不要包含项目开发工具生成的文件,或者项目编译后的临时文件.但是,当我们使用git status查看工作区状态的时候,总会提示一些文件未被track.于是,我们想让git帮助我们忽略这些文件,不再提醒. 庆幸的是,git已经考虑到这点了.我们可以在项目的根目录下建立一个.gitignore的文件,该文件用来配置哪些文件或者目录不被track的.规则很简单,就在该文件中,写下你不想被track的文件

  • 详解git的基本使用方法

    什么是git? git是目前世界上最先进的分布式版本控制系统. git与SVN的最主要区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候用的都是自己的电脑,所以开始工作之前需要从中央服务器那里获取最新的版本,然后开始工作,工作完后,需要把自己所做的工作推送到中央服务器.集中式版本控制系统必须要联网才能工作,如果在局域网中,有足够的宽带,运行速度够快,而在互联网环境下,网速慢通常会导致服务难以进行. git是分布式版本控制系统,没有中央服务器,每个人的电脑是一个完整的版

  • 详解git reset 加不加 --hard的区别

    通常我们提交代码一般都是 git add ,git commit -m,   git push的这么个流程.添加到暂存区,提交到git库生成版本号,push到远程仓库以供他人可以使用.这是一个完整的且非常顺利的流程.但是往往实际开发中并不是这么顺利,总会出现这样或那样的问题. git reset就是当我们提交了错误的内容后进行回退使用的命令. git reset 版本号,就是回退到该版本号上. 通常我们使用 git reset HEAD就是回退到当前版本.git reset HEAD^回退到上一

  • 详解git submodule使用以及注意事项

    一.背景 在平时的软件开发过程中常常会有这样的场景,自己负责的某个模块会依赖其他模块或者第三方的library.这时你自己的模块是一个独立的代码仓库,你想要实现这样一种功能,当你从你的模块的代码仓库里把代码拉到本地来的时候,能自动的将你依赖的模块或第三方库都拉到指定的目录当中去. 当然要实现这个功能的方法有很多,比如使用repo之类的工具,又比如如果你使用的是svn作为版本管理工具,那么你可以使用svn的external机制来引用第三方的project. 这里要说的是使用git作为版本管理工具的

  • 详解git submodule update获取不到最新提交的代码

    今天遇到了一个git submodule update获取不到最新代码的问题,闹了半天原来是自己对git submodule理解不到位引起的.解决了后,感觉虽然没有什么高深的地方,但是不清楚的时候还是需要费时间去查找问题,所以还是在此记录如下. 1.问题描述 同事在共同使用的一个工程里修改了代码,这个工程在我本地的工程中是作为submodule来使用的,但是我在本地执行以下命令却获取不到最新提交的代码. git submodule update --init --recursive 2.问题原因

  • 详解git submodule HEAD detached 的问题

    在使用git submodule 的时候,常常会遇到 执行完以下操作后发现 子仓库的head 指针处于游离状态 git clone xxxxx.git git submodule update --init 然后切换到子仓库,查看当前分支的状态如下 原因是之前同事在子仓库中修改并提交后,没有在 父仓库中更新子仓库的最新提交记录 正常情况下,修改子仓库的内容并在子仓库提交后会在父仓库执行 git diff会有如下输出 解决git submodule head detached的方法: 重新建立su

  • 详解git基本操作和指令

    基本操作 一.基本操作命令 创建进入空文件夹 右键 -> 点击 Git Bash Here 启动命令行(MAC 在当前文件夹打开终端) git init 仓库初始化 创建一个初始化文件 index.html git add index.html 将文件加入到暂存区 git commit -m '注释' 提交到仓库 m 是 message 单词的缩写 二..git 目录 hooks 目录包含客户端或服务端的钩子脚本,在特定操作下自动执行. info 包含一个全局性排除文件,可以配置文件忽略 log

随机推荐