Git提交失败Updates were rejected because the tip of your current branch is behind

来源:网络 文章列表 2019-10-08 8
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.gi

错误显示

$ 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 不相关的历史, 因为本地也有提交。

解决办法

  1. 方案一
    使用允许无关联的历史记录的参数拉取之后再 push
git pull origin master --allow-unrelated-histories
git push

2.方案二
 

git push -u origin master -f

 

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接