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

如何让Heroku代码库与GitHub同步?Git推送失败求助

让Heroku代码库与GitHub同步的最佳方案及强制推送的可行性

错误原因

你遇到的推送失败,是因为Heroku的master分支包含了本地(及GitHub)没有的提交——团队成员直接推代码到Heroku导致的。此时本地分支的提交落后于Heroku远程分支,Git不允许直接推送。

最佳同步方式

要安全同步两者且不丢失任何代码,步骤如下:

  1. 拉取Heroku的最新代码到本地临时分支
    git fetch heroku
    git checkout -b heroku-temp heroku/master
    
  2. 切回本地已同步GitHub的master分支,合并Heroku的代码
    git checkout master
    git merge heroku-temp
    
    这一步如果有代码冲突,手动解决冲突后完成合并。
  3. 将合并后的代码推回GitHub,确保远程仓库统一
    git push origin master
    
  4. 最后推送到Heroku,完成同步
    git push heroku master
    

这种方式能保留所有提交历史,同时让GitHub和Heroku的代码完全一致,也不会丢失团队成员直接推到Heroku的代码。

git push heroku master -f是否可行?

技术上可行,但强烈不建议使用。强制推送会直接覆盖Heroku上的所有现有提交,那些直接推送到Heroku的代码会被彻底删除。如果这些代码是有效的功能修复或紧急变更,这么做会导致生产环境代码回退或丢失,引发业务问题。只有在你100%确认Heroku上的额外提交毫无价值,且已做好备份的前提下,才能考虑使用。

后续规范建议

为避免再出现此类问题,需明确团队流程:

  • 禁止任何成员直接推代码到Heroku
  • 所有代码必须先提交到GitHub,通过PR审核后再部署
  • 可以启用Heroku的自动部署功能,关联GitHub指定分支,合并PR后自动部署到Heroku,确保代码流转唯一且可追溯

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 08:28:19