2024.06.06日补充
该问题引起的原因是:远程分支存在本地分支没有的commit。
下面暴力重构的方式,只适合本地提交没那么重要的情况
所以优雅的解决的方式是 先使用 git pull
拉取远程分支中的提交,同时该命令会自动和本地代码进行合并。
如果远程仓库代码与本地代码有冲突,需要手动解决冲突之后再手动git commit
。
成功合并之后再git push
即可成功。
若要查看冲突文件,可以使用 git status
命令根据提示进行操作
建议使用可视化工具 tortoiseGit
, 可以更清晰地看到冲突文件
可以自行百度该工具进行下载,也可以关注我的公众号《微代码人生》发送git
关键词获取。
使用本文方法前,请自行备份
在遇到上述错误自己无解决时,于是开始了网上大搜索:
git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了
首先尝试了 命令git push -u origin master -f,然后惊喜地出现了下面错误,不能强制推送到受保护的分支
随后就又找到了一个方法:先使用 git pull --rebase origin master
然后再使用命令 push -u origin master
终于出现了成功界面,哈哈哈
最终解决方法参考自:
https://blog.csdn.net/weixin_43211277/article/details/82715355
若代码未备份,出现丢失现象, 请参考git reflog进行恢复