【发布时间】:2015-04-28 12:58:23
【问题描述】:
我使用 GitHub 的“部署到 Heroku”按钮创建了一个应用程序。由于 git 项目已更改,如何使用新的上游提交更新我现有的实例?
【问题讨论】:
标签: git heroku github heroku-toolbelt
我使用 GitHub 的“部署到 Heroku”按钮创建了一个应用程序。由于 git 项目已更改,如何使用新的上游提交更新我现有的实例?
【问题讨论】:
标签: git heroku github heroku-toolbelt
Heroku 的 Web 控制台也可以轻松做到这一点。将您的应用程序连接到 GitHub 存储库以从选定的 git 分支自动或手动部署。自动部署也可以等到 CI 通过。使用以下步骤配置您的项目。
设置
Deploy
Deployment method,请单击GitHub
App connected to GitHub,选择并连接您的存储库自动部署
Deploy > Automatic deploys
Wait for CI to pass before deploy
Enable Automatic Deploys
手动部署
Deploy > Manual deploys
Deploy Branch
截图
这是显示 UI 的屏幕截图:
注意:正如Tim Malone 所述,这仅适用于您自己的存储库,但这可以通过创建Skyost 所述的分叉来解决。
【讨论】:
我去抓取原始存储库,然后将其强制推送到我在 Heroku 中的应用程序上。看起来像这样:
git clone https://github.com/USER/REPO.git
git checkout v0.7.3
git remote add heroku https://git.heroku.com/APP-NAME.git
git push -f heroku master
Heroku 可以轻松地为您的应用克隆存储库
heroku git:clone -a app-name
我最初尝试这样做,然后将原始存储库添加为远程并合并更改,但遇到了一些我不想弄清楚的麻烦。
【讨论】:
如果您已经克隆了应用程序,或者您想先从 Heroku 克隆,这里有一种方法。
# Clone app if you haven't already
heroku git:clone -a appname
# Get latest app
git remote add REPO https://github.com/USER/REPO.git
git branch -b REPO REPO/master
# Delete master
git branch -D master
# Remake it with latest
git checkout -b master
# And force push it to heroku
git push -f heroku master
【讨论】:
假设您的本地分支称为master,您可以尝试:
git pull heroku master
请记住,如果您的本地分支和远程分支出现分歧,您可能会遇到合并冲突。这还假设您已将 heroku 配置为指向 repo 中的适当位置。
【讨论】: