Git Push: Fatal: 'Origin' Does Not Appear To Be A Git Repository - Fatal Could Not Read From Remote Repository

4.5K    Asked by AlisonKelly in Devops , Asked on Nov 16, 2022

Everything was working smoothly, as I could:

git add . all the files from my local repository.
git commit -m "message here" to add messages to my commits.
git push origin master to upload my files to GitHub.
git push heroku master to upload my files to Heroku.

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

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 anymore 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 error.

Any ideas?

Answered by Alison Kelly

If fatal origin does not appear to be a git repository - 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 the last code block.
Verify remote name / address

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

$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com: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://git@example.com:1234/myRepo.git
# this will now work as expected
$git push origin main


Your Answer

Interviews

Parent Categories