0

希望有人可以在这里为我指明正确的方向。我想更好地了解我的应用程序如何将标签部署到 Heroku,以及我如何利用它来使用标签/分支的组合来对生产进行热修复。我有一个在 Heroku 上运行的 rails 3.1 应用程序。

这是我用于演示的自定义部署 rake 任务的一些输出

git push origin tag deploy.120716134715
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:myusername/myrepository.git
 * [new tag]         deploy.120716134715 -> deploy.120716134715

deploy tag deploy.120716134715 was created
git push demo deploy.120716134715:master --force
Everything up-to-date

git tag demo.120716134726 deploy.120716134715

git push origin tag demo.120716134726
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:myusername/myrepository.git
 * [new tag]         demo.120716134726 -> demo.120716134726

所以我正在创建一个部署标签并将其推送到我的 heroku 演示应用程序,然后从部署标签创建一个演示标签。

我的生产 rake 任务输出类似:

Push deploy.120716132600 to Production?  Type 'y' to deploy
y
deploying
git push production deploy.120716132600:master --force
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (15/15), 1.42 KiB, done.
Total 15 (delta 12), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Configure Rails 3 to disable x-sendfile
       Installing rails3_disable_x_sendfile... done
-----> Configure Rails to log to stdout
       Installing rails_log_stdout... done
-----> Gemfile detected, running Bundler version 1.0.7
       All dependencies are satisfied
-----> Installing Exceptional plugin from git://github.com/exceptional/exceptional.git... done.
-----> Installing quick_sendgrid plugin from git://github.com/pedro/quick_sendgrid.git... done.
-----> Configuring New Relic plugin... done.
       Installing the New Relic plugin... done.
-----> Compiled slug size is 29.2MB
-----> Launching... done, v291
-----> Deploy hooks scheduled, check output in your logs
       http://my-app-production.heroku.com deployed to Heroku

To git@heroku.com:my-app-production.git
   9d0f2ca..9827475  deploy.120716132600 -> master

git push origin refs/tags/deploy.120716132600:refs/tags/production.120716133802
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:myusername/myrepository.git
 * [new tag]         deploy.120716132600 -> production.120716133802

所以部署标签被推送到我的 Heroku 生产应用程序,然后创建一个生产标签并将其推送到源。

所以我的问题是现在对生产进行热修复的最佳方法是什么?假设我的主分支中有更改,我已经在本地提交然后推送。在不推动我对生产所做的新更改的情况下,将生产中的内容拉到本地、修改、提交并推回生产的最佳方法是什么?

这甚至可能吗?

提前感谢大家的帮助,让我知道我需要提供哪些其他信息。就像我说的 Rails 3.1 应用程序,Heroku 上的演示和生产应用程序。

4

1 回答 1

0

在不推动我对生产所做的新更改的情况下,将生产中的内容拉到本地、修改、提交并推回生产的最佳方法是什么?

将生产中的内容拉入新分支,对其进行修改、提交并将该分支推回。相关信息见这里:Git pull a certain branch from GitHub

于 2012-07-18T03:10:04.207 回答