git—error: failed to push some refs to 'https://github.com/

在使用git 对文件进行push到gitHub时可能会出错,信息如下

! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/xxxxxx
hint: Updates were rejected because 
the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

《git—error: failed to push some refs to 'https://github.com/》 7)W4@WJ1AV06HL%39SQ1VX5.png

错误原因:

更新被拒绝,因为远程仓库包含本地没有的部分。
可能你在另一个存储库推送到了远程仓库,但是现在用的这个本地存储库没有跟远程仓库同步。

解决办法:

你需要先同步远程仓库。使用 git pull 命令,取回远程主机某个分支的更新,再与本地的指定分支合并。然后就可以push到远程仓库啦

git pull 完整格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>

  • 取回远程origin主机的next分支,与本地的master分支合并:
    git pull origin next:master
  • 远程分支与当前分支是合并关系时,本地分支名可以省略:
    git pull origin next
  • git clone时,所有本地分支默认与远程主机的同名分支,建立追踪关系(tracking),也就是本地的master分支自动”追踪”远程origin/master分支。此时可以省略远程分支名:
    git pull origin
  • git clone后,当前分支只有一个追踪分支,可以省略远程主机名,直接:
    git pull

tips

之前遇到问题在网上找办法的时候,不小心找到了个错误的,然后也没发现问题,就这么用了,后来经过辰辉~的提醒,又仔细查了查资料,终于搞明白了。

使用 git push -f origin master 命令,也是可以完成push推送的!!!
但是!!!
这个命令的作用是强制push,慎用啊!它是直接把本地的push到远程仓库,然后把远程仓库中不同的地方全都抹掉覆盖了。这种逆天的命令真是醉了呢,幸亏之前用这个命令的时候没有造成什么损失。。

    原文作者:沙子粒儿在西安
    原文地址: https://www.jianshu.com/p/980b3c5f9138
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞