关于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 —— PullPull也会报错: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 命令执行即可.