git - ! [rejected] master -> master(先获取)

标签 git github git-push

有没有好的方法来解释如何在 Git 中解决“![rejected] master -> master (fetch first)'”?

当我使用此命令时 $ git push origin master 它会显示一条错误消息。

! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:zapnaa/abcappp.git'

最佳答案

答案就在那里,git告诉你先fetch。

可能其他人已经推送到 master,而你的提交落后了。因此,您必须获取、 merge 变更集,然后才能再次推送。

如果你不这样做(或者更糟,如果你使用 --force 选项强制它),你可能会弄乱提交历史。

编辑:我对最后一点进行了更详细的介绍,因为这里的一个人刚刚给出了使用 --force 选项的非常糟糕的建议。

由于 git 是一个 DVCS,理想情况下,许多其他开发人员与您在同一个项目上工作,使用相同的存储库(或它的分支)。如果你用你的变更集强行覆盖,你的存储库将与其他人的不匹配,因为“你重写了历史”。你会让其他人不高兴,存储库也会受到影响。大概世界上一只小猫也会哭吧。

长话短说

  1. 如果要解决,先fetch(再merge)。
  2. 如果您想破解,请使用--force 选项。

不过,您要求的是前者。坚持 1) 始终,即使您将始终自己使用 git,因为这是一种很好的做法。

关于git - ! [rejected] master -> master(先获取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429819/

相关文章:

Git - pull 时忽略目录,推送时不忽略目录

git - 如何找到我的 GitHub 用户名以便可以通过 URL 找到我?

heroku - 如何使用 Cygwin 安装 heroku 工具带

使用来自声明性管道的 jenkins 凭据进行 Git 推送

git - 如何从 git 存储库克隆、获取或稀疏 check out 单个目录或目录列表?

javascript - 如何将 Angular 2 App 部署到 Github Pages?

git - 错误: failed to push some refs to 'https://github. com/

相当于 oneline 的 Git 漂亮格式字符串,包括颜色

git - 当指向同一文件的两个链接不同时,git 应该如何表现?

git - 使用 git reset --hard 消除我的错误