作者:手机用户2602931923_450 | 来源:互联网 | 2023-05-22 17:04
有没有一个很好的方法来解释如何! [rejected] master -> master (fetch first)'
在Git中解决" "?
当我使用此命令时, $ git push origin master
它显示一条错误消息.
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:zapnaa/abcappp.git'
linuxbandit..
94
答案就在那里,git告诉你先取.
可能其他人已经推动掌握,你的承诺落后了.因此,您必须获取,合并变更集,然后您将能够再次推送.
如果你不这样做(或者更糟糕的是,如果你通过使用该--force
选项强制它),你可以搞乱提交历史记录.
编辑:我进一步了解最后一点,因为这里的一个人刚刚给出了使用该--force
选项的非常糟糕的建议.
由于git是一个DVCS,理想情况下,许多其他开发人员正在使用相同的存储库(或它的一个分支)处理与您相同的项目.如果你用变更集强行覆盖,你的存储库将与其他人不匹配,因为"你重写了历史".你会让其他人不高兴,存储库也会受到影响.可能世界上的一只小猫也会哭.
TL; DR
如果要解决,请先获取(然后合并).
如果您想破解,请使用该--force
选项.
但是你要求前者.一直都是1),即使你总是自己使用git,因为这是一个很好的做法.
1> linuxbandit..:
答案就在那里,git告诉你先取.
可能其他人已经推动掌握,你的承诺落后了.因此,您必须获取,合并变更集,然后您将能够再次推送.
如果你不这样做(或者更糟糕的是,如果你通过使用该--force
选项强制它),你可以搞乱提交历史记录.
编辑:我进一步了解最后一点,因为这里的一个人刚刚给出了使用该--force
选项的非常糟糕的建议.
由于git是一个DVCS,理想情况下,许多其他开发人员正在使用相同的存储库(或它的一个分支)处理与您相同的项目.如果你用变更集强行覆盖,你的存储库将与其他人不匹配,因为"你重写了历史".你会让其他人不高兴,存储库也会受到影响.可能世界上的一只小猫也会哭.
TL; DR
如果要解决,请先获取(然后合并).
如果您想破解,请使用该--force
选项.
但是你要求前者.一直都是1),即使你总是自己使用git,因为这是一个很好的做法.
无法获取删除本地文件中的重要更改?
提取后不会改变
2> 小智..:
尝试:
git fetch origin master
git merge origin master
写完这段代码后,我收到了其他错误:(非快进)
我写这段代码:
git fetch origin master:tmp
git rebase tmp
git push origin HEAD:master
git branch -D tmp
并解决了我的问题
3> 小智..:
你应该使用 git pull
,这个命令做一个git fetch
和下一个做git merge
.
如果使用git push origin master --force
命令,将来可能会遇到问题.
4> J D..:
pull始终是正确的方法,但是当您尝试将none-Git文件系统转换为Github存储库时,可能会有一个例外.你必须强制进行第一次提交.
git init
git add README.md
git add .
git commit -m "first commit"
git remote add origin https://github.com/userName/repoName.git
git push --force origin master
5> 小智..:
试试这个git命令
git push origin master --force
或者力量不足 -f
git push origin master -f