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

如何将仓库外修改的内容并入本地仓库再推送到remote/origin?

问题本质

你当前的本地代码是下载的ZIP包生成的,不包含远程仓库的提交历史记录,和远程的提交链没有关联,所以直接推送会被判定为版本不一致拒绝,直接拉取又会覆盖本地已修改的内容。

操作步骤(按顺序执行即可)
  • 提前备份当前整个项目文件夹到其他路径,避免操作失误丢失修改内容
  • 在项目根目录打开VS Code终端,执行git init初始化本地Git仓库
  • 执行git remote add origin 你的远程仓库地址,将本地仓库和远程仓库关联
  • 执行git fetch origin拉取远程的所有提交记录到本地,不会合并改动,不会覆盖你现有代码
  • 执行合并命令,主分支如果是master就把下面的main换成master:git merge origin/main --allow-unrelated-histories
  • 此时会弹出合并冲突提示,打开VS Code的源代码管理面板,逐个处理冲突文件:需要保留自己的修改就选「保留当前更改」,需要保留远程的更新就选「保留传入更改」,两边改动都要保留就选「保留双方更改」,所有冲突处理完后保存全部文件
  • 执行git add .暂存所有改动,再执行git commit -m "合并本地修改与远程提交"完成提交
  • 现在可以正常推送:推送到GitHub执行git push origin main,推送到Heroku执行你原本的推送命令即可
后续使用建议
  • 后续同步代码不要下载ZIP包,直接用git clone 远程仓库地址克隆项目到本地,自带完整提交历史,不会出现本次的问题
  • 每次修改代码前先执行git pull拉取远程最新代码,再做修改,可大幅减少合并冲突的概率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 08:33:02