Git push: "fatal 'origin' does not appear to be a git repository - fatal Could not read from remote repository."
GitGithubVersion ControlBranchGit Problem Overview
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:
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 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?
Git Solutions
Solution 1 - Git
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://gi[email protected]:1234/myRepo.git (fetch)
myOrigin ssh://gi[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://gi[email protected]:1234/myRepo.git
# this will now work as expected
$git push origin main
Solution 2 - Git
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
Solution 3 - Git
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
Solution 4 - Git
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
Solution 5 - Git
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.
Solution 6 - Git
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```
Solution 7 - Git
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
Solution 8 - Git
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.
Solution 9 - Git
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.
Solution 10 - Git
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
Solution 11 - Git
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
Solution 12 - Git
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:-
- Firstly create an empty folder.
- Open Git GUI/Bash or CMD in the empty folder. Open the empty folder and right click and then open Git.
- Click on a clone in Bitbucket(after creating your repository) and copy the cloning path of your repository.
- Paste it into your Git and Enter.
- After cloning, a new folder is created by git.
- Change your directory to the new folder that is created by Git after cloning your repository.
- Paste/puts your desired projects/files/folder in this folder.
- After keeping your all projects files. Again open Git GUI/Bash in the current folder.
- Then type these as usual: a.git add --all b. git commit -m "Your Desired Heart Sound" c. git push -u origin master.
- Finally after following these steps you push your projects to Bitbucket
[]1
Thanks.
Solution 13 - Git
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)