如何更新部署在Heroku上的网站?部署内容未同步问题求助
解决Heroku网站无法同步本地修改的问题
核心问题说明
你推送到Heroku的是masterbranch分支,但网站的基准分支是master,所以Heroku不会用这个分支部署;另外之前git push heroku master失败的原因是本地与远程分支历史不一致,建新分支无法解决这个根本问题。
解决步骤
切换回本地master分支并合并修改
- 先切到master分支:
git checkout master - 如果你的修改都在
masterbranch上,把分支的修改合并到master:git merge masterbranch - 合并前如果担心冲突,可以先拉取Heroku远程master的最新状态:
git pull heroku master
- 先切到master分支:
解决push失败的历史不一致问题
之前的failed to push some refs错误,是因为本地master和Heroku远程master的提交历史不匹配,解决方法:- 拉取远程Heroku的master分支到本地,合并冲突:
git pull heroku master - 如果出现合并冲突,打开冲突文件手动修改(保留需要的内容,删除冲突标记
<<<<<<<、=======、>>>>>>>),然后提交:git add . git commit -m"合并Heroku远程分支并解决冲突"
- 拉取远程Heroku的master分支到本地,合并冲突:
推送正确的分支到Heroku
现在把本地master分支推送到Heroku的master分支(网站的基准分支):git push heroku master验证部署结果
- 推送完成后,Heroku会自动开始构建部署,用以下命令查看实时日志,确认部署成功:
heroku logs --tail - 访问你的网站,检查内容是否已更新。
- 推送完成后,Heroku会自动开始构建部署,用以下命令查看实时日志,确认部署成功:
额外注意事项
- 不要用新建分支的方式规避push错误,核心是保持本地与远程分支的历史同步
- 每次修改后准备推送前,建议先执行
git pull heroku master,避免出现历史冲突 - 如果合并冲突无法处理,可以重置本地master到远程状态(会丢失本地未提交的修改,谨慎操作):
之后重新添加你的修改并提交推送。git reset --hard heroku/master
内容的提问来源于stack exchange,提问作者gks
相关产品推荐
相关产品推荐

