How can I pull an existing heroku app to new location for development?

I currently have the latest version of my code on another computer that I want to develop from (Home computer and laptop for when I'm out and about) I set up heroku for my app on my laptop. Now I need to associate my code on my desktop so that I can push to heroku from there as well.

This is what I get from my desktop:

desktop:~/NetBeansProjects/onlinescheduler$ git pull heroku master
fatal: 'heroku' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

I can't do heroku create because that will create a separate app. How do I associated the existing code with (or pull down a brand new version from) heroku?

Whats the command to do this?


Solution 1:

Also, If you've never used heroku before on the other machine, you'll need to do a few more things first:

$ gem install heroku
$ heroku login
 [then enter your credentials] 
$ heroku keys:add [path to keyfile]

Now you can clone the remote repository:

$ git clone [email protected]:<heroku_app>.git <local_directory>

Solution 2:

First of all, you'll want to follow the Quick Start instructions for Heroku, which you can get straight from the horse's mouth, right here: https://devcenter.heroku.com/articles/quickstart

Once you've gotten through step 3, come back here.

Then, you can type this into the command line: heroku git:clone -a myapp

This is described here: https://devcenter.heroku.com/articles/git-clone-heroku-app

Then, if you want to grab the database too, here are some options. Newer Heroku instructions on import/export: https://devcenter.heroku.com/articles/heroku-postgres-import-export

Older heroku instructions on push and pull: https://blog.heroku.com/archives/2009/3/18/push_and_pull_databases_to_and_from_heroku

If you are using mongo, this is a useful tool to sync your mongo database: https://github.com/pedro/heroku-mongo-sync#readme

Solution 3:

If you first need to get the app from Heroku, clone your app.

To do that, write in your Terminal:

heroku git:clone -a your_app_name

If you already have the app and the remote to heroku follow the next steps. If not, you can check instructions here https://devcenter.heroku.com/articles/git

  1. Find the name of your database

Write in your Terminal:

heroku pg:info -a your_app_name

it will look something like this:

HEROKU_POSTGRESQL_MAROON_URL
  1. Find the name of your local database

In your Rails app go to config/database.yml

it will look something like this:

your_app_name_development
  1. Clone your production database (PostgreSQL)

Write in your Terminal with your own database names:

heroku pg:pull HEROKU_POSTGRESQL_MAROON_URL your_app_name_development -a your_app_name

HEROKU_POSTGRESQL_MAROON_URL is an example of how could be the name of your production database (in Heroku): my_app_name_development is the name of your development database (locally) the_name_of_my_app is the name of your app in Heroku

Don't forget to finish this with bundle install...

Solution 4:

If you already have your code base ready and have heroku setup, use:

$ heroku git:remote -a your_heroku_app

This will allow you to deploy from your new location. Reference: https://devcenter.heroku.com/articles/git#creating-a-heroku-remote