Remote origin already exists on 'git push' to a new repository
-
10-07-2019 - |
Question
I have my project on GitHub at some location, git@github.com:myname/oldrep.git
.
Now I want to push all my code to a new repository at some other location, git@github.com:newname/newrep.git
.
I used the command:
git remote add origin git@github.com:myname/oldrep.git
but I am receiving this:
fatal: remote origin already exists.
Solution
You are getting this error because "origin" is not available. "origin" is a convention not part of the command. "origin" is the local name of the remote repository.
For example you could also write:
git remote add myorigin git@github.com:myname/oldrep.git
git remote add testtest git@github.com:myname/oldrep.git
See the manual:
http://www.kernel.org/pub/software/scm/git/docs/git-remote.html
To remove a remote repository you enter:
git remote rm origin
Again "origin" is the name of the remote repository if you want to remove the "upstream" remote:
git remote rm upstream
OTHER TIPS
The previous solutions seem to ignore origin, and they only suggest to use another name. When you just want to use git push origin
, keep reading.
The problem appears because a wrong order of Git configuration is followed. You might have already added a 'git origin' to your .git configuration.
You can change the remote origin in your Git configuration with the following line:
git remote set-url origin git@github.com:username/projectname.git
This command sets a new URL for the Git repository you want to push to. Important is to fill in your own username and projectname
If you have mistakenly named the local name as "origin", you may remove it with the following:
git remote rm origin
METHOD1->
Since origin already exist remove it.
git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git
METHOD2->
One can also change existing remote repository URL by ->git remote set-url
If you're updating to use HTTPS
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
If you're updating to use SSH
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
If trying to update a remote that doesn't exist you will receive a error. So be careful of that.
METHOD3->
Use the git remote rename command to rename an existing remote. An existing remote name, for example, origin.
git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'
To verify remote's new name->
git remote -v
If new to Git try this tutorial->
You can simply edit your configuration file in a text editor.
In the ~/.gitconfig
you need to put in something like the following:
[user]
name = Uzumaki Naruto
email = myname@example.com
[github]
user = myname
token = ff44ff8da195fee471eed6543b53f1ff
In the oldrep/.git/config
file (in the configuration file of your repository):
[remote "github"]
url = git@github.com:myname/oldrep.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
If there is a remote section in your repository's configuration file, and the URL matches, you need only to add push configuration. If you use a public URL for fetching, you can put in the URL for pushing as 'pushurl' (warning: this requires the just-released Git version 1.6.4).
You don't have to remove your existing "origin" remote, just use a name other than "origin" for your remote add, e.g.
git remote add github git@github.com:myname/oldrep.git
I got the same issue, and here is how I fixed it after doing some research:
- Download GitHub for Windows or use something similar, which includes a shell
- Open the
Git Shell
from task menu. This will open a power shell including Git commands. - In the shell, switch to your old repository, e.g.
cd C:\path\to\old\repository
Show status of the old repository
Type
git remote -v
to get the remote path for fetch and push remote. If your local repository is connected to a remote, it will show something like this:origin https://user@bitbucket.org/team-or-user-name/myproject.git (fetch) origin https://user@bitbucket.org/team-or-user-name/myproject.git (push)
If it's not connected, it might show
origin
only.
Now remove the remote repository from local repository by using
git remote rm origin
Check again with step 4. It should show
origin
only, instead of the fetch and push path.Now that your old remote repository is disconnected, you can add the new remote repository. Use the following to connect to your new repository.
Note: In case you are using Bitbucket, you would create a project on Bitbucket first. After creation, Bitbucket will display all required Git commands to push your repository to remote, which look similar to the next code snippet. However, this works for other repositories, too.
cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time
That's it.
git remote rm origin
git remote add origin git@github.com:username/myapp.git
I had the same problem when I first set up using Bitbucket.
My problem was that I needed to change the word origin for something self-defined. I used the name of the application. So:
git remote add AppName https://someone@bitbucket.org/somewhere/something.git
You should change the name of the remote repository to something else.
git remote add origin git@github.com:myname/oldrep.git
to
git remote add neworigin git@github.com:myname/oldrep.git
I think this should work.
Yes, these are for repository init and adding a new remote. Just with a change of name.
You could also change the repository name you wish to push to in the REPOHOME/.git/config file
(where REPOHOME is the path to your local clone of the repository).
git remote rm origin
git remote -v
It will not display any repository namegit remote add origin git@github.com:username/myapp.git
git push origin master
It will start the process and creating the new branch. You can see your work is pushed to github.
This can also happen when you forget to make a first commit.
Open to Android Studio > VCS > Git > Remotes Delete all the addresses that will appear in this section. The problem will solve.