Git/GitHub新手推送代码至仓库时遇[rejected]错误求助
解决Git推送失败(rejected, fetch first)的方法
这个报错的核心是远程仓库的main分支包含本地没有的提交——可能是其他协作者推送了代码,或是你在GitHub网页端直接修改了仓库内容,导致本地代码和远程代码的提交历史不一致,Git拒绝了你的推送请求。
方案1:合并远程变更(推荐,适用于多人协作场景)
- 先拉取远程最新代码到本地并自动合并:
git pull origin main - 如果合并时出现冲突,Git会在冲突文件里标记差异(比如
<<<<<<<、=======、>>>>>>>),手动修改这些文件解决冲突后,执行:git add . git commit -m "解决合并冲突" - 最后重新推送你的代码:
git push origin main
方案2:强制推送(仅在确认远程变更无需保留时使用)
如果你确定远程的更新是无效的、或者你完全想覆盖远程内容,可以用强制推送,但多人协作场景下绝对不要随意使用,会覆盖远程仓库的提交历史:
git push origin main --force
更安全的替代命令(仅在本地提交历史是远程的超集时生效,避免误覆盖他人提交):
git push origin main --force-with-lease
内容的提问来源于stack exchange,提问作者Jayasimha Reddy
相关产品推荐
相关产品推荐

