221

I am very new to Git; I only recently created a GitHub account.

I've just tried to push my very first repository (a sample project), but I'm getting the following error:

No such remote 'origin'

I ran the following commands:

git init
git commit -m "first commit"
git remote add origin https://github.com/VijayNew/NewExample.git
git push -u origin master

However, when I ran git commit -m "first commit", I got the following message:

nothing added to commit but untracked files present (use "git add" to track)

So then I tried to set origin, using

git remote set-url origin https://github.com/VijayNew/NewExample.git

But I got the following error:

No such remote 'origin'

What did I do wrong, and what should I do?

jub0bs
  • 60,866
  • 25
  • 183
  • 186
Vijay
  • 3,152
  • 3
  • 24
  • 33

5 Answers5

273

Two problems:

1 - You never told Git to start tracking any file

You write that you ran

git init
git commit -m "first commit"

and that, at that stage, you got

nothing added to commit but untracked files present (use "git add" to track).

Git is telling you that you never told it to start tracking any files in the first place, and it has nothing to take a snapshot of. Therefore, Git creates no commit. Before attempting to commit, you should tell Git (for instance):

Hey Git, you see that README.md file idly sitting in my working directory, there? Could you put it under version control for me? I'd like it to go in my first commit/snapshot/revision...

For that you need to stage the files of interest, using

git add README.md

before running

git commit -m "some descriptive message"

2 - You haven't set up the remote repository

You then ran

git remote add origin https://github.com/VijayNew/NewExample.git

After that, your local repository should be able to communicate with the remote repository that resides at the specified URL (https://github.com/VijayNew/NewExample.git)... provided that remote repo actually exists! However, it seems that you never created that remote repo on GitHub in the first place: at the time of writing this answer, if I try to visit the correponding URL, I get

enter image description here

Before attempting to push to that remote repository, you need to make sure that the latter actually exists. So go to GitHub and create the remote repo in question. Then and only then will you be able to successfully push with

git push -u origin master
Community
  • 1
  • 1
jub0bs
  • 60,866
  • 25
  • 183
  • 186
  • @ Jubobs. 1st prob is my mistake. Now i do like this. `git init git add --all git commit -m "first commit"`. Now it is working. 2) Actually i have deleted my account before 20 mins. Now I have created a new account. `https://github.com/VijayMobileApp/WindowsPhoneExample.git` – Vijay Aug 26 '14 at 11:07
  • And still now i am getting `remote: Repository not found. fatal: repository 'https://github.com/VijayNew/NewExample.git/' not found` – Vijay Aug 26 '14 at 11:08
  • @Vijay you deleted your old account but still old account in use – Raja Simon Aug 26 '14 at 11:12
  • `$ git remote set-url origin https://github.com/VijayMobileApp/WindowsPhoneExamp le.git fatal: No such remote 'origin'` – Vijay Aug 26 '14 at 11:15
  • 1
    By visiting the URL, I see that you've now created a repo called `WindowsPhoneExample` on your GitHub account, `VijayMobileApp`. All you need to do now is run `git remote add origin https://github.com/VijayMobileApp/WindowsPhoneExample`. Then you should be able to push with `git push -u origin master`. – jub0bs Aug 26 '14 at 11:17
  • Hi @Jubobs. Now it is working. At first I am also give this same url only. Then why it is not working for me. Now I am using url which is you give. Now it's working. Any way thank you Jubobs..!! – Vijay Aug 26 '14 at 11:51
75

I'm guessing you didn't run this command after the commit failed so just actually run this to create the remote :

 git remote add origin https://github.com/VijayNew/NewExample.git

And the commit failed because you need to git add some files you want to track.

Emil Davtyan
  • 13,808
  • 5
  • 44
  • 66
  • 1
    This command only lets the local repo *know about* the remote one. It doesn't actually create the remote repo on the GitHub servers, which I think is what the OP needs to do here. – jub0bs Aug 26 '14 at 11:47
  • 1
    I'm well aware of what the command does. From the question I was guessing the user probably pasted all the commands at once and the commit failed so he never actually added the remote. – Emil Davtyan Aug 26 '14 at 12:13
  • 1
    Just to be clear, I wasn't suggesting that you don't know what `git remote add` does `:)` Just that you didn't consider the possibility that the OP had never created the remote repo. – jub0bs Aug 26 '14 at 12:14
  • 3
    I had the same issue, and I had already created the remote repo. This answer was the solution. – sdjuan Jun 26 '18 at 18:10
  • This is what I needed, the command line (set-url) was suggestion --add which didn't work at all. thanks – Default Jul 18 '20 at 17:34
36

I faced this issue when I was tring to link a locally created repo with a blank repo on github. Initially I was trying git remote set-url but I had to do git remote add instead.

git remote add origin https://github.com/VijayNew/NewExample.git
ishandutta2007
  • 16,676
  • 16
  • 93
  • 129
  • That did it for me - a little odd because I received the instruction to use `set-url` command from BitBucket's own instructions on "what to do next" – PandaWood Apr 28 '21 at 01:21
17

The following steps work for me:

Init

First, initialize the repository to work with Git, so that any file changes are tracked:

git init

Create alias origin

Then, check that the remote repository that you want to associate with the alias origin exists, if not, create it in git first.

$ git ls-remote https://github.com/repo-owner/repo-name.git/

If it exists, associate it with the remote alias "origin":

git remote add origin https://github.com:/repo-owner/repo-name.git

and check to which URL, the remote alias "origin" belongs to by using git remote -v:

$ git remote -v
origin  https://github.com:/repo-owner/repo-name.git (fetch)
origin  https://github.com:/repo-owner/repo-name.git (push)

Verify alias origin

Next, verify if your alias origin is properly aliased as follows:

$ cat ./.git/config
:
[remote "origin"]
        url = https://github.com:/repo-owner/repo-name.git
        fetch = +refs/heads/*:refs/remotes/origin/*
:

You must see this section [remote "origin"]. You can consider to use GitHub Desktop available for both Windows and MacOS, which help me to automatically populate the missing section/s in ~./git/config file OR you can manually add it, not great, but hey it works!

Pull any contents from remote main branch

$ git pull origin main

This will pull any contents you have on the repository you just aliased to origin to the local repository, including .gitignore, creating the branch main in the process.

Check main branch

$ git branch
* main

This will show you that main branch has been created and you are now on it(as indicated by the * ).

Optional

You might also want to change the origin alias to make it more intuitive, especially if you are working with multiple origin:

git remote rename origin my-super-git-repo

Finally

git add .
git status //If you want to check what's going to be committed
git commit -m 'First commit' //-m is for message
git push origin main

You will see a bunch of lines as follows:

Enumerating objects: 22, done.
Counting objects: 100% (22/22), done.
Delta compression using up to 8 threads
Compressing objects: 100% (13/13), done.
Writing objects: 100% (21/21), 4.29 KiB | 292.00 KiB/s, done.
Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), done.
To https://github.com/repo-owner/repo-name.git

948279c..1f3b0b8 main -> main

jumping_monkey
  • 5,941
  • 2
  • 43
  • 58
0

The error message you're encountering indicates that there is no remote named 'origin' in your Git repository. This suggests that the repository might not have been properly initialized or that the remote wasn't added correctly.

To add a remote repository named 'origin' with the URL you mentioned, you can follow these steps:

git remote -v
git remote add origin <url>
git remote -v
git push -u origin main
  • While this code may solve the question, [including an explanation](//meta.stackexchange.com/q/114762) of how and why this solves the problem would really help to improve the quality of your post, and probably result in more up-votes. Remember that you are answering the question for readers in the future, not just the person asking now. Please [edit] your answer to add explanations and give an indication of what limitations and assumptions apply. – Yunnosch Aug 17 '23 at 05:26
  • Thanks for adding that explanation. It is however not quite your writing style. Can you state who the author is? I remember having a similar situation with one of your posts, which contained phrasing in stark contrast to your own one as used in your comment. – Yunnosch Aug 17 '23 at 13:33