有没有好的方法来解释如何在 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,理想情况下,许多其他开发人员与您在同一个项目上工作,使用相同的存储库(或它的分支)。如果你用你的变更集强行覆盖,你的存储库将与其他人的不匹配,因为“你重写了历史”。你会让其他人不高兴,存储库也会受到影响。大概世界上一只小猫也会哭吧。
长话短说
- 如果要解决,先fetch(再merge)。
- 如果您想破解,请使用
--force
选项。
不过,您要求的是前者。坚持 1) 始终,即使您将始终自己使用 git,因为这是一种很好的做法。
关于git - ! [rejected] master -> master(先获取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429819/