关于AS使用git的那些奇葩事儿

首先致谢: http://blog.csdn.net/a10615/article/details/52135617, 我们不生产代码, 我们只做大自然的搬运工!

1 总结 
2     1. 首次无法push问题: git pull origin master --allow-unrelated-histories 
3     2. 首次无法pull  问题:  git branch --set-upstream master origin/master 
快速解决->总结

 

首次提交项目无法push推送

    • 现象: 
      Push的时候,弹出错误信息:Push rejected,Push to origin/master was rejected 
      这里写图片描述 
      控制台输出的详细错误信息: 
      这里写图片描述

    • 原因: 
      通过上述错误信息,告诉我们github中有我们本地没有的文件,需要先pull。在VCS —— Git —— Pull 
      这里写图片描述

      Pull也会报错:Git Pull Failed,fatal: refusing to merge unrelated histories 
      这里写图片描述

      这里写图片描述

      也就是说直接pull也是不行的。并提示拒绝合并两个不相关的仓库

    • 解决办法: 
      打开Git Bush。本地资源管理器的工程目录下,右键——Git Bush Here。或直接打开Git Bash,然后用cd命令打开工程目录。 
      输入命令:git pull origin master --allow-unrelated-histories 
      表示允许不相关的仓库合并。 
      这里写图片描述 
      此时,你可以看到工程中多了两个github中的两个文件 
      这里写图片描述

      其中.gitignore文件是还没有添加的,需要添加然后提交。 
      添加命令:git add .gitignore 
      提交命令:git commit 
      这里写图片描述

      添加后提交,会弹出提交的提示信息: 
      这里写图片描述 
      这里是VIM文本编辑器让你提交。操作命令: 
      进入到输入状态:按i键 
      从输入状态退出:Esc键 —— Shift+;键 —— wq!(保存并退出)或q!(不保存退出) —— Enter

      最后使用提交,命令:git push –u origin master 
      这里写图片描述 
      上面信息代表上传成功,去github看看就知道了。

      此问题困扰了我很久才解决,最主要的就是这条命令: 
      git pull origin master --allow-unrelated-histories 
      其他的命令都可以在界面上操作。 

    • 若是再次服务从服务端拉取代码提示如下图所示: 则只需在Terminal 中按照提示输入git branch --set-upstream master origin/master 命令执行即可.
以一颗童心善待生活
原文地址:https://www.cnblogs.com/lizhilin2016/p/7927850.html