You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Git仓库推送到GitHub失败:提示工作树干净但无法推送

问题解决步骤

核心问题:远程仓库存在本地未同步的提交导致首次推送被拒;拉取后本地工作区显示干净却无法推送,本质是本地与远程分支的提交历史未完成正确同步。

1. 排查分支与提交状态

先明确本地与远程分支的差异情况:

# 查看本地+远程所有分支的提交历史(含图形化展示)
git log --oneline --graph --all
# 查看本地分支与远程跟踪分支的关联状态
git branch -vv

通过这两个命令,能清晰看到master分支和远程origin/master分支的提交分叉、是否存在未同步的内容。

2. 同步远程最新内容

先执行fetch获取远程最新提交(不会自动合并,避免强制修改本地状态):

git fetch origin

对比本地与远程分支的差异:

git diff master origin/master

若显示存在差异,执行合并操作:

git merge origin/master
  • 若合并出现冲突:打开冲突文件手动解决后,执行git add . && git commit -m "merge remote changes"完成合并。
  • 若合并无冲突:直接进入推送步骤。

3. 完成推送

合并完成后,重新推送本地分支:

git push origin master

备选方案:用Rebase简化提交历史

如果不想生成合并提交,可通过rebase将本地提交“移到”远程最新提交之后:

git pull --rebase origin master

rebase完成后直接推送即可:

git push origin master

特殊情况处理

若执行上述步骤后仍提示working tree clean,说明本地分支已与远程完全同步——要么之前的本地提交已被远程覆盖,要么修改内容本身无差异。此时可直接查看远程仓库的提交记录,确认修改是否已存在;若未存在,重新修改文件、提交后再推送即可。

内容的提问来源于stack exchange,提问作者shmu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:25:19