Thibaud Clement
Thibaud Clement

Reputation: 6907

Git push: "fatal 'origin' does not appear to be a git repository - fatal Could not read from remote repository."

I know similar questions have already been asked.

But, I believe my issue is due to a mistake I have previously made and therefore is different: let me explain.

Everything was working smoothly, as I could:

However, at some point, I created a new branch locally called add-calendar-model in case next steps of the app development would go south...

... which is exactly what happened.

However, despite many attempts, I did not manage to get the initial code — i.e. the code from before I created the new branch — from the master branch to my local repository.

So, I decided to manually delete all the files from my local repository and git clone my master branch from GitHub.

This way, I got all my files back, but now, I cannot push any more to the remote repository.

Any time I try to run git push origin add-calendar-model or git push origin master, I get the following error:

fatal: 'origin' 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 am not very comfortable with Git and GitHub, as you may have guessed by now, and I have to admit that I have no clue about how to fix this.

Any idea?

Upvotes: 206

Views: 705939

Answers (17)

Jaber Alshami
Jaber Alshami

Reputation: 404

you just need add github.com to your host file:

ssh-keygen -f "/home/<user>/.ssh/known_hosts" -R "github.com"

Upvotes: 0

Md Wahiduzzaman Emon
Md Wahiduzzaman Emon

Reputation: 1213

You can see the multiple ways to solve but I recommended to trying this first. It works for me perfectly.

    step 1. git remote -v 
    step 2. git remote rm origin
    step 3. git add .
    step 4. git commit -m "your commit"
    step 5. git remote set-url origin https://github.com/<your_github_username>/<repository_name>.git
    step 6. git push --set-upstream -f origin main

Note: if error: No such remote 'origin' this error occurred. then before step 5 use this command -

git remote add origin https://github.com/<your_github_username>/<repository_name>.git

then again start from step 5


Follow this 6 steps, Thanks.


Upvotes: 2

user15038732
user15038732

Reputation:

For me it helps just by removing existing origin (after i created a new repo and few steps). But before check if the origin is exist in your case:

git remote -v

Then check name of origin (usually set by default) and remove it.

git remote remove origin

And use common github commands while pushing repository to add new origin and finally push your code:

git remote add origin https://github.com/username/repository.git
git branch -M main

git push -u origin main

Upvotes: 3

Mahfuzur Rahman
Mahfuzur Rahman

Reputation: 524

Firstly remote verbose with the following command:

git remote -v

And see the result of something like that:

origin  https://github.com/MahfuzKhandaker/StudyOnline.git (fetch)
origin  https://github.com/MahfuzKhandaker/StudyOnline.git (push)

Then you have to run the following command to remove origin:

git remote remove origin

And finally you have to add origin:

git remote  add origin  https://github.com/MahfuzKhandaker/StudyOnline.git

Then run the command:

git branch -M main
git push -u origin main

Hope this helps!

Upvotes: 0

Nafees Kausar
Nafees Kausar

Reputation: 301

It happens when you push your code from the current location but after cloning any projects Git creates its own different folder so we have to change our current directory to the required directory. If any got these issue. We can solve it by following these easy steps:-

  1. Firstly create an empty folder.
  2. Open Git GUI/Bash or CMD in the empty folder. Open the empty folder and right click and then open Git.
  3. Click on a clone in Bitbucket(after creating your repository) and copy the cloning path of your repository.
  4. Paste it into your Git and Enter.
  5. After cloning, a new folder is created by git.
  6. Change your directory to the new folder that is created by Git after cloning your repository.
  7. Paste/puts your desired projects/files/folder in this folder.
  8. After keeping your all projects files. Again open Git GUI/Bash in the current folder.
  9. Then type these as usual: a.git add --all b. git commit -m "Your Desired Heart Sound" c. git push -u origin master.
  10. Finally after following these steps you push your projects to Bitbucket

Error:-fatal: Not a git repository (or any of the parent directories):

Thanks.

Upvotes: 0

Matt Clark
Matt Clark

Reputation: 28639

First, check that your origin is set by running

git remote -v

This should show you all of the push / fetch remotes for the project.

If this returns with no output, skip to last code block.

Verify remote name / address

If this returns showing that you have remotes set, check that the name of the remote matches the remote you are using in your commands.

$git remote -v
myOrigin ssh://[email protected]:1234/myRepo.git (fetch)
myOrigin ssh://[email protected]:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin main

# you need to use
$git push myOrigin main

If you want to rename the remote or change the remote's URL, you'll want to first remove the old remote, and then add the correct one.

Remove the old remote

$git remote remove myOrigin

Add missing remote

You can then add in the proper remote using

$git remote add origin ssh://[email protected]:1234/myRepo.git

# this will now work as expected
$git push origin main

Upvotes: 352

Erielama
Erielama

Reputation: 127

Most probably the issue is that your remote origin is not set.

git add .
git commit -m "Your commit message"
git remote add origin https://repositoryurlpath.git
git push origin master

Extra Tips:

Check if the remote origin is set

git remote -v

Reset the remote origin

git remote remove origin
git remote add origin https://repositoryurlpath.git

Upvotes: 0

BlueJapan
BlueJapan

Reputation: 1766

These two steps worked for me!

Step 1:

git remote set-url origin https://github.com/username/example_repo.git

Step 2:

git push --set-upstream -f origin main

Step 3:

your username and password for github

On step 2, -f is actually required because of the rebase, quote from this post.

Upvotes: 3

Jose Antonio
Jose Antonio

Reputation: 898

This is the way I updated the master branch

This kind of error occurs commonly after deleting the initial code on your project

So, go ahead, first of all, verify the actual remote version, then remove the origin add the comment, and copy the repo URL into the project files.

$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master

Upvotes: 13

deesolie
deesolie

Reputation: 1062

What fixed this for me was re-setting my origin url:

git remote set-url origin https://github.com/username/example_repo.git

And then I was able to successfully git push my project. I had to do this even though when I viewed my origins with git remote -v, that the urls were same as what I re-set it as.

Upvotes: 1

vinod
vinod

Reputation: 595

It works for me.

git remote add origin https://github.com/repo.git
git push origin master

add the repository URL to the origin in the local working directory

Upvotes: 38

md sha
md sha

Reputation: 61

if you add your remote repository by using git clone then follow the steps:-

git clone <repo_url> then

git init

git add * *means add all files

git commit -m 'your commit'

git remote -v for check any branch run or not if not then nothing show then we add or fetch the repository. "fetch first". You need to run git pull origin <branch> or git pull -r origin <branch> before a next push.

then

git remote add origin <git url>
 git pull -r origin master
git push -u origin master```

Upvotes: 6

Beaug45
Beaug45

Reputation: 1

I had the same issue. When I checked my config file I noticed that 'fetch = +refs/heads/:refs/remotes/origin/' was on the same line as 'url = Z:/GIT/REPOS/SEL.git' as shown:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git     fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

At first I did not think that this would have mattered but after seeing the post by Magere I moved the line and that fixed the problem:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

Upvotes: 0

vsriram92
vsriram92

Reputation: 663

Sometimes you don't have a local REF for pushing that branch back to the origin.
Try

git push origin master:master

This explicitly indicates which branch to push to (and from)

Upvotes: -4

Nikhil Shrivastav
Nikhil Shrivastav

Reputation: 71

A similar error appears while pulling the changes from the origin. If you are trying in Intellij from the menu options, the pull might not work directly.

Go to terminal and type this command and this should work out: git pull origin master

Upvotes: 1

Magere
Magere

Reputation: 99

Make sure the config file at .git is correct...Check URL & Make sure your using the correct protocol for your keys ...ProjectWorkspace/.git/config

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://[email protected]/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

We are looking at the URL... e.g: For bitbucket, expect [email protected] its gitbucket.org. make the necessary changes.. SAVE Try pushing again.

Upvotes: 3

heb-NR
heb-NR

Reputation: 327

As Matt Clark stated above

However, origin might not be set, so skip the deleting step and simply attempting to add can clear this up.

git remote add origin <"clone">

Where "clone" is simply going into your GitHub repo and copying the "HTTPS clone URL" and pasting into GitBash

Upvotes: 17

Related Questions