Why does Git tell me "No such remote 'origin'" when I try to push to origin?
Solution 1:
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
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
Solution 2:
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.
Solution 3:
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
Solution 4:
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.
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