Git推送出现! [rejected] master -> master (fetch first)报错求助
报错翻译
! [被拒绝] master -> master (请先执行fetch操作) 错误: 推送部分引用到 'github.com:kohenm63/phone_book.git' 失败 提示: 推送被拒是因为远程仓库包含本地不存在的提交。通常是由于有其他仓库向同一个引用推送了内容。你需要先将远程变更合并到本地(比如执行 `git pull ...` 命令)后再重新推送。 提示: 详情可查看 `git push --help` 中的 "关于快进提交的说明" 部分。
根因说明
你作为项目唯一开发者仍出现该问题,常见原因是你曾在其他设备提交代码推送到远程、或是直接在GitHub网页端编辑过仓库内的文件(比如README、许可证、配置文件等),导致远程master分支的提交版本领先于本地。
解决方法
场景1:需要保留远程仓库的变更内容(推荐)
该方案不会丢失任何历史提交:
- 第一步:拉取远程master分支的变更并合并到本地
git pull origin master - 如果出现合并冲突,打开冲突文件手动调整冲突内容后,执行以下命令标记冲突已解决:
git add <冲突文件名>git commit -m "合并远程master分支变更" - 第二步:重新推送本地变更
git push origin master
场景2:远程变更无需保留,确定要用本地代码覆盖远程分支
注意:该操作会直接清空远程master分支上本地没有的所有内容,操作前请确认无需要保留的远程修改
执行强制推送命令即可:git push -f origin master
内容的提问来源于stack exchange,提问作者mila kohen
相关产品推荐
相关产品推荐

