68

I'm still going through some guides on RoR and I'm stuck here at Deploying The Demo App

I followed instructions:

With the completion of the Microposts resource, now is a good time to push the repository up to GitHub:

$ git add .
$ git commit -a -m "Done with the demo app"
$ git push

What happened wrong here was the push part.. it outputted this:

$ git push
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using
git remote add <name> <url>
git push <name>

So I tried following the instructions by doing this command:

$ git remote add demo_app 'www.github.com/levelone/demo_app'
fatal: remote demo_app already exists.

So I push:

$ git push demo_app
fatal: 'www.github.com/levelone/demo_app' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

What can I do here? Any help would be much appreciated.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
levelone
  • 2,289
  • 3
  • 16
  • 17
  • 2
    Very good question. Most tutorials seem to be missing one or two steps, making it impossible to push your changes. – Kokodoko May 25 '15 at 10:41
  • 2
    I got the same error and then I found out that it was directory-related issue. I was not pushing from the right directory where the repo is settled. – MYB Apr 13 '21 at 11:51

9 Answers9

57

You are referring to the section "2.3.5 Deploying the demo app" of this "Ruby on Rails Tutorial ":

In section 2.3.1 Planning the application, note that they did:

$ git remote add origin git@github.com:<username>/demo_app.git
$ git push -u origin master

That is why a simple git push worked (using here an ssh address).
Did you follow that step and made that first push?

 www.github.com/levelone/demo_app

That would not be a writable URI for pushing to a GitHub repo.

https://levelone@github.com/levelone/demo_app.git

This should be more appropriate.
Check what git remote -v returns, and if you need to replace the remote address, as described in GitHub help page, use git remote --set-url.

git remote set-url origin https://levelone@github.com/levelone/demo_app.git
# or 
git remote set-url origin git@github.com:levelone/demo_app.git
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • It works! @VonC but unfortunately I'm stuck right after I push once again... After using: `git push demo_app` it outputs a Password Authentication, and after successfully logging in it displays: `No refs in common and none specified; doing nothing; perhaps you should specify a branch such as 'master'. Everything-up-to-date` i don't get it.. – levelone Apr 06 '12 at 01:57
  • @Marc if it asks for a password, then you must have missed a configuration allowing you to authenticate to GitHub as the rightful owner of demo_app. See for instance (with an https remote GitHub address) http://stackoverflow.com/questions/7129232/problem-in-pushing-to-github/7130405#7130405 or (more complete) http://stackoverflow.com/questions/5377703/syncing-with-github/5378094#5378094 – VonC Apr 06 '12 at 06:31
  • the first link didn't change the output of my push.. i'm curious on how to set my < login_internet >, < password_internet >, @ aproxy, aport ... i'm kinda lost :( sorry about that. hope i'm not bugging you for your help.. – levelone Apr 07 '12 at 09:21
  • @Marc: you only need to setup that if you do access internet through a proxy. – VonC Apr 07 '12 at 09:27
  • oh ok.. i access the net through our wifi here at home. i hope that helps? so yea when i push `$ git push` it displays this text `error: error setting certificate verify locations: CA file: \bin\curl-ca-bundle.crt CApath: none while accessing https:\\levelone@github.com/levelone/demo_app.git/info/refs fatal:HTTPS request failed` do i need my rails server on while i push it? or i do have to set up my proxy? – levelone Apr 07 '12 at 12:12
  • and i tried cloning it.. and destination path 'demo app' already exists and is not an empty directory. – levelone Apr 07 '12 at 12:19
  • @Marc check your global git config to set the CA file path appropriately: http://stackoverflow.com/a/3778244/6309. And when you clone, always do it by specifying a root directory which doesn't exist yet. – VonC Apr 07 '12 at 13:13
  • I am on bitbucket when I am doing this git remote add abc-blog 'git@bitbucket.org:sooraz/abc-blog.git' I am getting fatal: remote abc-blog already exists and then can't push it... – Suraj Jan 30 '15 at 05:47
  • @Suraj that should be a separate question in its own, not a comment burried under a three-years old answer. – VonC Jan 30 '15 at 06:36
  • Sorry about that.. I saw your last active was just 10 minutes back and hence the comment. – Suraj Jan 30 '15 at 06:52
  • @Suraj sure, I am *always* there (http://meta.stackexchange.com/questions/122976/anyone-with-a-visited-2048-days-2048-consecutive-in-his-her-profile), but your question deserves more visibility: make one, for others (than just me) to answer to. – VonC Jan 30 '15 at 07:14
40

The command (or the URL in it) to add the github repository as a remote isn't quite correct. If I understand your repository name correctly, it should be;

git remote add demo_app 'git@github.com:levelone/demo_app.git'
Joachim Isaksson
  • 176,943
  • 25
  • 281
  • 294
6

I have faced this error, Previous I had push in root directory, and now I have push another directory, so I could be remove this error and run below commands.

git add .
git commit -m "some comments"
git push --set-upstream origin master
Syed Tabish Ali
  • 309
  • 3
  • 5
0

I already have faced this error. I create a github repository and I copy repository Url and I run following command.

git remote add service-center-app 'https://github.com/DeveloperAsela/service-centerapp.git'
Kasun Asela
  • 53
  • 1
  • 4
0

This happened to me when I was using Visual Studio Code with Github. I have realized that the upstream branch was empty for some reason and push did not know where to push. Using "sync" fixed the problem.

Mert Sevinc
  • 929
  • 1
  • 8
  • 25
0

I had the same problem

using vs code if you click on the menu button go down to push,pull then scroll down to push to and

0

Here is how I resolve the same issue:

  1. create repository

  2. git branch -M main

  3. git push -u origin main

acoul
  • 1
0

If you are using git commands using cmd

git remote add origin git@github.com:<username>/demo_app.git

You can copy it from your repo https code you are currently working on.

After this run

git push

This worked for me.

0

Through VS-Code:

  1. git add .
  2. git commit -m "some comments"
  3. git remote add origin git@github.com:yourusername/yourrepository.git
  4. git push --set-upstream origin master
Hagit
  • 1
  • 1