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.
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到远程仓库,然后把远程仓库中不同的地方全都抹掉覆盖了。这种逆天的命令真是醉了呢,幸亏之前用这个命令的时候没有造成什么损失。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一群羊正在东山上赶青 四处游荡的白云走低 要和羊群比谁最白 羊群不想搭理她 白云她每天高高在上 不在意蓝天的陪伴 ...
    木貞ma阅读 287评论 0 1
  • 一個人終於另一個人走在一起 那你是誰 家在哪 現在又在哪 我在想你 知道嗎 我在念你 聽到嗎 如果是捉迷藏 那你早...
    淺笑大大阅读 291评论 3 0
  • 《國風·鄘風·柏舟》 汎彼柏舟,在彼中河。髧彼兩髦,實維我儀,之死矢靡它。母也天只!不諒人只! 汎彼柏舟,在彼河側...
    woshiliyana阅读 281评论 0 0
  • 写了好几段因为回复微信,再点开就没有了,水逆水逆。 最近身体比较虚,做什么都容易感觉累,真是年岁一长,身体一旦有什...
    楚浛阅读 459评论 3 5