Gitpush命令报错:Updates-were-rejected-remote-contains
问题描述和分析
Git push命令报hint: Updates were rejected because the remote contains work that you do。
当我们开开心心的把代码写完,想要上传到git代码管理平台(远程仓库)时,突然报个这个错误,一整天的好心情都毁了。不用着急,我们来对它分析一波:
To https://gitee.com/634174214/myblog-xxx.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/634174214/myblog-admin-assets.git'
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.
翻译一下就是:
提示:更新被拒绝,因为远程包含您所做的工作
提示:不要在本地使用。这通常是由另一个存储库推送引起的
提示:对于相同的ref。您可能需要首先集成远程更改
提示:(例如,“git pull…”)然后再次按下。
提示:有关详细信息,请参阅“git推送-帮助”中的“关于快进的说明”
先它的出现是因为在你上传的时候,远程仓库中有着本地仓库没有的文件造成的,我们首先想到的就是,既然没有那就把它拉取下来我不就有了吗?
试试,当我们pull命令输完,以为结束了,没想到它又报错了,refusing to merge unrelated histories(拒绝合并不相关的历史)。
这时我们需要在pull命名后加入一行参数就可以解决了。
git pull origin master --allow-unrelated-histories
我们再次对它产生的原因分析一波发现,首先它的出现是因为在你上传的时候,远程仓库中有着本地仓库没有的文件,及导致本地仓库和远程有不同的开始点,也就是两个仓库没有共同的 commit 出现的无法提交。
至此大部分人的问题都能解决,但是可能还会出现别的问题,而下面这个问题我也不太清楚,所以推荐一篇文章给大家:
https://blog.csdn.net/liulei952413829/article/details/117553977?spm=1001.2014.3001.5502