如何将Heroku应用导出至新GitHub仓库?
别慌,远程仓库听起来绕,其实就是代码的「远程存储地址」,给它们起个好记的名字(比如heroku、origin)就能分别操作了。我给你一步步拆解怎么把Heroku上的项目迁移到GitHub新仓库,之后还能正常部署到Heroku:
第一步:把Heroku上的完整代码拉到本地
Heroku本身就是一个Git远程仓库,所以你可以直接把代码拉到本地:
- 如果你本地还没有这个项目的副本,执行:
heroku git:clone -a 你的Heroku应用名称
然后进入项目目录:cd 你的项目名称 - 如果你已经有本地副本,先确保代码是最新的,执行:
git pull heroku main(如果你的主分支是master就换成master)
第二步:创建GitHub新仓库并关联本地项目
- 先去GitHub创建一个空仓库(别勾选「初始化README」「添加.gitignore」这些选项,因为我们本地已经有完整的代码和配置了)
- 回到本地项目目录,把GitHub仓库添加为新的远程地址:
git remote add origin git@github.com:你的GitHub用户名/新仓库名称.git
(如果你习惯用HTTPS地址,换成GitHub给你的HTTPS链接就行) - 你可以用
git remote -v查看当前所有远程仓库,这时候应该能看到heroku(对应Heroku的仓库)和origin(对应GitHub的新仓库)两个条目。
第三步:把代码推送到GitHub新仓库
第一次推送的时候需要关联分支,执行:git push -u origin main(分支名对应你的主分支,比如master就换成master)
之后再更新代码,直接执行git push origin main就行。
第四步:后续继续部署到Heroku(可选)
迁移完成后,你有两种方式继续部署到Heroku:
- 方式1:通过GitHub自动部署
打开Heroku应用的「Deploy」选项卡,选择「GitHub」作为部署来源,关联你刚才的新仓库,之后可以开启「Automatic deploys」,每次GitHub主分支有新提交,Heroku就会自动部署。 - 方式2:继续用CLI部署
不管代码在GitHub还是本地,只要本地有最新代码,依然可以用git push heroku main推送到Heroku部署,和之前的操作完全一样。
内容的提问来源于stack exchange,提问作者AlbertCalmus
相关产品推荐
相关产品推荐

