协慌网

登录 贡献 社区

如何将文件夹与现有的 Heroku 应用程序链接

我在 GitHub 上有一个现有的 Rails 应用程序并部署在 Heroku 上。我正在尝试建立一个新的开发机器,并从我的 GitHub 存储库中克隆了该项目。但是,我很困惑如何将此文件夹链接到 Heroku。最初,我使用了heroku create命令,但显然我这次不想这样做,因为它会创建另一个 Heroku 实例。

答案

Heroku基于heroku git remote(以及其他一些选项,请参阅下面的更新)链接您的项目。要将 Heroku 远程数据库添加为当前存储库中的远程数据库,请使用以下命令:

git remote add heroku git@heroku.com:project.git

其中project是 Heroku 项目的名称(与project.heroku.com子域相同)。一旦你这样做了,你就可以使用heroku xxxx命令(假设你安装了Heroku Toolbelt ),并且可以像往常一样通过git push heroku master推送到 Heroku。作为一种快捷方式,如果您使用的是命令行工具,则可以键入:

heroku git:remote -a project

又一次, project是你的 Heroku 项目的名称(谢谢, Panic 上校 )。您可以通过传递-r remote_name将 Git 远程命名为任何名称。

[更新]

正如 Ben 在评论中所提到的,远程不需要命名为heroku以使 gem 命令起作用。我检查了源代码 ,看起来它的工作原理如下:

  1. 如果您通过--app选项指定应用程序名称(例如heroku info --app myapp ),它将使用该应用程序。
  2. 如果您通过--remote选项指定 Git 远程名称(例如heroku info --remote production ),它将使用与该 Git 远程关联的应用程序。
  3. 如果您没有指定选项并且您在 Git 配置文件中设置了heroku.remote ,它将使用与该远程关联的应用程序(例如,将默认远程设置为 “production”,在您的存储库中使用git config heroku.remote production ,Heroku 将运行git config heroku.remote来读取此设置的值)
  4. 如果你没有指定选项,那么 gem 在.git/config文件中找不到任何配置,并且 gem 只在你的 Git 遥控器中找到一个遥控器,在 URL 中有 “heroku.com”,它将使用该遥控器。
  5. 如果这些都--app ,则会引发错误,指示您将--app传递给您的命令。

Heroku CLI有一个简单的快捷方式。对于名为'falling-wind-1624' 的应用:

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

请参阅https://devcenter.heroku.com/articles/git#creating-a-heroku-remote

不要忘记,如果你还在一台你以前没有设置过 heroku 的机器上

heroku keys:add

或者你将无法推动或拉动回购。