Tim
Tim

Reputation: 3221

'heroku' does not appear to be a git repository

When I try to push my app to Heroku I get this response:

fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I have tried 'heroku keys:add' but still comes up with the same result. I already have an ssh key for my GitHub account.

Upvotes: 299

Views: 237285

Answers (26)

Bobby Brown
Bobby Brown

Reputation: 11

Short Answer: $ git push {herokuappname} master

Long Answer Here is how I solved this.

I started with

$ git push heroku master

this was failing with

fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

I had already ran

$ heroku git:remote -a {herokuappname}

and it hadnt solved my problem. I ran

$ git remote -v

and got this list

origin  https://github.com/{githubusername}/{reponame} (fetch)
origin  https://github.com/{githubusername}/{reponame} (push)
{herokuappname} https://git.heroku.com/{herokuappname}.git (fetch)
{herokuappname} https://git.heroku.com/{herokuappname}.git (push)

I ran

$ git push {herokuappname} master

and it pushed to heroku and deployed the app

Upvotes: 0

Two
Two

Reputation: 670

First you have to install Heroku for CLI to be recognized

npm install -g heroku

npm command requires installation of node.js

Here you may download node.js: https://nodejs.org/en/download/

Then you have to login for authentication

heroku login

If you don't have an existing heroku repo

heroku create

Otherwise if you have an existing heroku repo

git remote add heroku git@heroku.com:<your app>.git

Then you may proceed pushing

git push heroku main

Upvotes: 0

On the site:

https://dashboard.heroku.com/apps/**<YourAppNameOnHeroku>**/deploy/heroku-git

steps are described.

Upvotes: 1

AfriPwincess
AfriPwincess

Reputation: 183

Type heroku create then git push heroku master (this is after creating a repository with 'git init' and committing the project)

Upvotes: 2

Fahd Mannaa
Fahd Mannaa

Reputation: 295

heroku git:remote -a YourAppName

Upvotes: 18

Bello Victor
Bello Victor

Reputation: 19

i forgot to create a domain name before running git push heroku main. Creating a domain name resolved the problem.

Upvotes: 0

show all apps heroku have access with

heroku apps

And check you app exist then

 execute heroku git:remote -a yourapp_exist

Upvotes: 4

Abhimanyu Dwivedi
Abhimanyu Dwivedi

Reputation: 212

You forgot to link your app name to your heroku. It's a very common mistake. if your app is not created, then use:

heroku create (optional app name)

else:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

Upvotes: 17

Kingston Fortune
Kingston Fortune

Reputation: 957

I've seen all the answers here and the only thing missing is after going through these steps:

$ git add .
$ git commit -m "first heroku commit"

You should run the command below:

$ heroku git:remote -a <YourAppNameOnHeroku>

And lastly, run this:

$ git push -f heroku <NameOfBranch>:master

Notice I used <NameOfBranch> because if you're currently in a different branch to master it would still throw errors, so If you are working in master use master, else put the name of the branch there.

Upvotes: 1

Saurav Panthee
Saurav Panthee

Reputation: 659

I had the same issue, but later I found out that I forgot to create an app before deploying it. Try the following steps in terminal.

heroku login
heroku create

I am just learning heroku and often forget the steps so I wrote an article about it. You can find it here: https://medium.com/@saurav.panthee/deploy-flask-app-to-heroku-under-3-minutes-2ec1c0bc403a

Upvotes: 1

Nazar Medeiros
Nazar Medeiros

Reputation: 445

In my case, I was already logged-in and I just executed git push.

Upvotes: 0

Hamfri
Hamfri

Reputation: 2219

The following commands will work well for ruby on rails application deployment on heroku if heroku is already installed on developers machine. # indicates a comment

  1. heroku login
  2. heroku create
  3. heroku keys:add #this adds local machines keys to heroku so as to avoid repeated password entry
  4. git push heroku master
  5. heroku rename new-application-name #rename application to the preferred name other than the auto generated heroku name

Upvotes: 0

A.K.
A.K.

Reputation: 2322

If this error pops up, its because there is no remote named Heroku. When you do a Heroku create, if the git remote doesn’t already exist, we automatically create one (assuming you are in a git repo). To view your remotes type in:

git remote -v”. # For an app called ‘appname’ you will see the following:

$ git remote -v
heroku git@heroku.com:appname.git (fetch)
heroku git@heroku.com:appname.git (push)

If you see a remote for your app, you can just “git push master” and replace with the actual remote name.

If it’s missing, you can add the remote with the following command:

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

If you’ve already added a remote called Heroku, you may get an error like this:

fatal: remote heroku already exists.

so, then remove the existing remote and add it again with the above command:

git remote rm heroku

Hope this helps…

Upvotes: 4

RegarBoy
RegarBoy

Reputation: 3521

Following official Heroku article:

Initialize GIT

$ cd myapp
$ git init

$ git add .
$ git commit -m "my first commit"

Then create (initialize) heroku app with:

$ heroku create YourAppName

Lastly add git remote:

$ heroku git:remote -a YourAppName

Now you can safely deploy your app with:

$ git push heroku master

You should wait for some time and see if you don't get any error/interrupt on console while deploying. For details look at heroku article.

Upvotes: 19

niranjanbajgai
niranjanbajgai

Reputation: 315

Run this

heroku create

before pushing your code.

Upvotes: 1

Yash Pakala
Yash Pakala

Reputation: 1

I had to run the Windows Command Prompt with Administrator privileges

Upvotes: 0

MD Shahrouq
MD Shahrouq

Reputation: 617

Follow this steps:

$ heroku login

Create a new Git repository
Initialize a git repository in a new or existing directory

$ cd my-project/
$ git init
$ heroku git:remote -a appname

Deploy your application
Commit your code to the repository and deploy it to Heroku using Git.

$ git add . 
$ git commit -am "make it better"
$ git push heroku master

Existing Git repository
For existing repositories, simply add the heroku remote

$ heroku git:remote -a appname

Upvotes: 12

Timmy Von Heiss
Timmy Von Heiss

Reputation: 2218

For those who are trying to get heroku to work on codeanywhere IDE:

heroku login
git remote add heroku git@heroku.com:MyApp.git
git push heroku

Upvotes: 0

mikeym
mikeym

Reputation: 6341

I got the same error and it turned out I was in the wrong directory. It's a simple mistake to make so double check that you are in the root and then run heroku create and heroku git push master again. Of course you must have done git init, as mentioned in StickMaNX answer above, already before the heroku steps.

Upvotes: 1

mepler
mepler

Reputation: 947

First, make sure you're logged into heroku:

heroku login 

Enter your credentials.

It's common to get this error when using a cloned git repo onto a new machine. Even if your heroku credentials are already on the machine, there is no link between the cloned repo and heroku locally yet. To do this, cd into the root dir of the cloned repo and run

heroku git:remote -a yourapp

Upvotes: 60

j8d
j8d

Reputation: 520

For me the answer was to cd into the root directory of the app before running heroku create or git push heroku master

Upvotes: 2

douglaslps
douglaslps

Reputation: 8168

My problem was that I used git (instead of heroku git) to clone the app. Then I had to:

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

Remember to change MyApp to your app name.

Then I could proceed:

git push heroku master

Upvotes: 4

Gerard Dawson
Gerard Dawson

Reputation: 35

I encountered the same error making a much more novice mistake: I was typing in Heroku with a capital "H," instead of lowercase.

I recognize that's certainly not the solution for everyone who encounters this error, but it was in my case.

Upvotes: 1

Beauson45
Beauson45

Reputation: 41

Might be worth checking the config file in the .git folder. If the heroku parameters are missing then you´ll get this error heroku param

[remote "heroku"]
    url = git@heroku.com:`[Your heroku app].git
    fetch = +refs/heads/*:refs/remotes/heroku/*

the .git folder should be in the local computer file directory for the app you created in heroku. e.g C:\Users\You\Your app.git

Hope this helps

Upvotes: 4

StickMaNX
StickMaNX

Reputation: 1982

You could try the following in your root directory:

// initialize git for your project, add the changes and perform a commit

git init
git add .
git commit -m "first commit"

// create heroku app and push to heroku

heroku create
git push heroku master

Not sure where you are in the process. You also don't need github to deploy on heroku, just git. Hope this helps!

Upvotes: 74

user2062950
user2062950

Reputation:

To add a Heroku app as a Git remote, you need to execute heroku git:remote -a yourapp.

Source: Deploying with Git

Upvotes: 657

Related Questions