本地新建项目夹,push到远程git:! [rejected] master -> master (fetch first),fatal: refusing to merge unrelated histories, ! [rejected] master -> master (non-fast-forward)

    在自己创建一个新的代码仓库,然后本地创建了一个项目夹,我们需要将文件的文件夹里面的内容上传到git,遇到一些错误信息。

    1.首先创建仓库:

new repository

    创建一个名字为gittest的仓库,在本地电脑创建一个gittest的项目夹用终端进入输入命令:

cd /路径/GitTest

git init         //创建.git

    创建好.git文件以后,一般iOS项目中需要忽略一些不必要上传的文件,比如说mac的默认文件,需要touch一个.gitignore文件将忽略文件添加进去。

touch .gitignore 

vim .gitignore   //复制忽略文件填写进去

    2.将文件提交到暂存区:

git add .                //他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u             //仅仅更新已add的文件,将修改的文件提交到缓存区,add -u 不会提交新的文件   update 包括删除的文件

git add -A            //以上2个的总和    all  包括删除的文件

git1.x版本
git 2.x版本

3.本地关联git服务器

git commit -m "这次更新的描述"

git remote add origin https://github.com/struggle3g/GitTest.git

4.push到远程服务器

git push -u origin master

    到这步以后出现了错误:

! [rejected] master -> master (fetch first)

    经过分析得出一个结论需要

git fetch origin          //需要从远程分支拉取代码到本地缓存区域,本地代码不合并。

git merge origin master //将origin merge 到 master 上

git merge origin/master //将origin上的master分支 merge 到当前 branch 上

到了这部分又发生了错误,通过  git无法pull仓库refusing to merge unrelated historiesrejected master -> master (non-fast-forward)

拒绝合并不相关的历史版本
没有内容需要合并

   问题在与,一个自己在本地创建的仓库,跟远程git的仓库一点记录没有,git merge origin master 合并到网上的时候,没有任何数据需要合并,git merge origin/master 合并到本地master的默认分支上面,但是本地缓存的内容没有远程分支的历史,本地历史跟远程分支为空,无法进行合并,git在最新2.9.2,merge、pull两个不同的项目,没法进行下去。

git merge origin/master --allow-unrelated-histories  //合并项目忽略不是一个项目问题

    或者直接用pull模式,不用fetch merge  直接pull   从结果的考虑来说pull = fetch + merge,具体过程有点不同,这篇就不讨论这个问题(挖坑令起一个)。

合并不同项目成功后

    Push数据

git push origin master     //上传本地当前分支代码到master分支

push成功

本地新建项目夹,push到远程git完成

    遇到的问题:1.平时的pull、push、merge、分布式等等  fetch、本地预存区,这些都是怎么运作,怎么实现的(当考虑到这些以后发现其实自己是不过是会一些基本的运用,反差很大,带着疑问的时候,就想去搞清楚这些,脚踏实地!)


参考:

    git add -A 和 git add . 的区别

    git无法pull仓库refusing to merge unrelated histories

    rejected master -> master (non-fast-forward)

    git无法pull仓库refusing to merge unrelated 

    Pro Git 简体中文版

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lesson 3: Using GitHub to Collaborate 3.1 Creating a GitH...
    赤乐君阅读 6,181评论 3 11
  • 转载自:http://www.open-open.com/lib/view/open1414396787325.h...
    Bbooo阅读 503评论 0 3
  • 1. GIT命令 git init在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个re...
    江边一蓑烟阅读 828评论 0 0
  • 转自:https://mp.weixin.qq.com/s/sF-cx2ss4haO74K55Sjf9g 配置 首...
    faremax阅读 296评论 0 0
  • 文/zero007 我在那烟云相连、雾绕迷离的尘间,遇到了今生的你,仿若看到隔世的自己。缘分,兜兜转转,前世早已注...
    zero007阅读 234评论 23 18