Git提交失败Updates were rejected because the tip of your current branch is behind
错误显示
$ git push -u origin master
Username for 'https://github.com': xiaoshen110
libpng warning: iCCP: cHRM chunk does not match sRGB
To https://github.com/xiaoshen110/cici.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/xiaoshen110/cici.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
错误产生过程
笔者在github上创建一个repository, 之后和本地的路径关联后提交代码出现以上错误。具体过程如下:
1、在 Github的页面上:https://github.com, 创建一个repository
2、在本地通过Eclipse上建立一个Project, 或是一个已经存在的目录也可以。
总之是把本地目录进行Git 版本控管。
3.本地使用Git Cmd 切换到本地项目目录之后Git 的初始化:
git init
4.添加远端库地址:
git remote add origin https://github.com/XXX/XXXXX.git
以上XXXX 替换成自己的。 这里使用的是https 协议的, 也可以使用ssh 协议, 不过需要把ssh 的pubkey复制到github。
5、获取远端代码
git pull
出现如下页面:
(注意了:问题就处在这一步了)
6、添加需要控管的文件并提交到本地库
git add *.java
git commit -m "oscar commit"
7、推送到远端
git push
报本地分支没有对应到远端的分支的错误:
8.关联远端分支
git branch --set-upstream-to=origin/master
9.再进行git push推送到远端,就出现的本文开头的错误了。
提示就是本地分支比远端分支的版本要后。回到上面的第5步, 虽然执行了git pull, 但是没有关联到远端分支, 所以并没有获取远端分支的最新版。
这时候是否重新pull一下就可以了呢?执行 git pull, 出现如下画面:
拉取失败, 拒绝merge 不相关的历史, 因为本地也有提交。
解决办法
- 方案一
使用允许无关联的历史记录的参数拉取之后再 push
git pull origin master --allow-unrelated-histories
git push
2.方案二
git push -u origin master -f
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论