How to link a folder with an existing Heroku app
git, heroku
Solution
Heroku links your projects based on the `heroku` git remote (and a few other options, see the update below). To add your Heroku remote as a remote in your current repository, use the following command:
git remote add heroku git@heroku.com:project.git
where `project` is the name of your Heroku project (the same as the `project.heroku.com` subdomain). Once you've done so, you can use the `heroku xxxx` commands (assuming you have the Heroku Toolbelt installed), and can push to Heroku as usual via `git push heroku master`. As a shortcut, if you're using the command line tool, you can type:
heroku git:remote -a project
where, again, `project` is the name of your Heroku project (thanks, Colonel Panic). You can name the Git remote anything you want by passing `-r remote_name`.
[Update]
As mentioned by Ben in the comments, the remote doesn't need to be named `heroku` for the gem commands to work. I checked the source, and it appears it works like this:
- If you specify an app name via the `--app` option (e.g. `heroku info --app myapp`), it will use that app.
- If you specify a Git remote name via the `--remote` option (e.g. `heroku info --remote production`), it will use the app associated with that Git remote.
- If you specify no option and you have `heroku.remote` set in your Git config file, it will use the app associated with that remote (for example, to set the default remote to "production" use `git config heroku.remote production` in your repository, and Heroku will run `git config heroku.remote` to read the value of this setting)
- If you specify no option, the gem finds no configuration in your `.git/config` file, and the gem only finds one remote in your Git remotes that has "heroku.com" in the URL, it will use that remote.
- If none of these work, it raises an error instructing you to pass `--app` to your command.
Problem
I have an existing Rails app on GitHub and deployed on Heroku. I'm trying to set up a new development machine and have cloned the project from my GitHub repository. However, I'm confused as to how to link this folder up to Heroku. Originally, I used the `heroku create` command, but obviously I don't want to do that this time since it will create another Heroku instance.