Adding a remote repository
To add a new remote, use the git remote add
command on the terminal, in the directory your repository is stored at.
The git remote add
command takes two arguments:
- A remote name, for example,
origin
- A remote URL, for example,
https://github.com/user/repo.git
For example:
$ git remote add origin https://github.com/USER/REPO.git
# Set a new remote
$ git remote -v
# Verify new remote
> origin https://github.com/USER/REPO.git (fetch)
> origin https://github.com/USER/REPO.git (push)
For more information on which URL to use, see «About remote repositories.»
Troubleshooting: Remote origin already exists
This error means you’ve tried to add a remote with a name that already exists in your local repository.
$ git remote add origin https://github.com/octocat/Spoon-Knife.git
> fatal: remote origin already exists.
To fix this, you can:
- Use a different name for the new remote.
- Rename the existing remote repository before you add the new remote. For more information, see «Renaming a remote repository» below.
- Delete the existing remote repository before you add the new remote. For more information, see «Removing a remote repository» below.
Changing a remote repository’s URL
The git remote set-url
command changes an existing remote repository URL.
The git remote set-url
command takes two arguments:
- An existing remote name. For example,
origin
orupstream
are two common choices. - A new URL for the remote. For example:
- If you’re updating to use HTTPS, your URL might look like:
https://github.com/USERNAME/REPOSITORY.git
- If you’re updating to use SSH, your URL might look like:
git@github.com:USERNAME/REPOSITORY.git
- If you’re updating to use HTTPS, your URL might look like:
Switching remote URLs from SSH to HTTPS
- Open TerminalTerminalGit Bash.
- Change the current working directory to your local project.
- List your existing remotes in order to get the name of the remote you want to change.
$ git remote -v > origin git@github.com:USERNAME/REPOSITORY.git (fetch) > origin git@github.com:USERNAME/REPOSITORY.git (push)
- Change your remote’s URL from SSH to HTTPS with the
git remote set-url
command.$ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
- Verify that the remote URL has changed.
$ git remote -v # Verify new remote URL > origin https://github.com/USERNAME/REPOSITORY.git (fetch) > origin https://github.com/USERNAME/REPOSITORY.git (push)
The next time you git fetch
, git pull
, or git push
to the remote repository, you’ll be asked for your GitHub username and password. When Git prompts you for your password, enter your personal access token. Alternatively, you can use a credential helper like Git Credential Manager. Password-based authentication for Git has been removed in favor of more secure authentication methods. For more information, see «Creating a personal access token.»
You can use a credential helper so Git will remember your GitHub username and personal access token every time it talks to GitHub.
Switching remote URLs from HTTPS to SSH
- Open TerminalTerminalGit Bash.
- Change the current working directory to your local project.
- List your existing remotes in order to get the name of the remote you want to change.
$ git remote -v > origin https://github.com/USERNAME/REPOSITORY.git (fetch) > origin https://github.com/USERNAME/REPOSITORY.git (push)
- Change your remote’s URL from HTTPS to SSH with the
git remote set-url
command.$ git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
- Verify that the remote URL has changed.
$ git remote -v # Verify new remote URL > origin git@github.com: USERNAME/REPOSITORY.git (fetch) > origin git@github.com: USERNAME/REPOSITORY.git (push)
Troubleshooting: No such remote ‘[name]’
This error means that the remote you tried to change doesn’t exist:
$ git remote set-url sofake https://github.com/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
Check that you’ve correctly typed the remote name.
Renaming a remote repository
Use the git remote rename
command to rename an existing remote.
The git remote rename
command takes two arguments:
- An existing remote name, for example,
origin
- A new name for the remote, for example,
destination
Example of renaming a remote repository
These examples assume you’re cloning using HTTPS, which is recommended.
$ git remote -v
# View existing remotes
> origin https://github.com/OWNER/REPOSITORY.git (fetch)
> origin https://github.com/OWNER/REPOSITORY.git (push)
$ git remote rename origin destination
# Change remote name from 'origin' to 'destination'
$ git remote -v
# Verify remote's new name
> destination https://github.com/OWNER/REPOSITORY.git (fetch)
> destination https://github.com/OWNER/REPOSITORY.git (push)
Troubleshooting: Could not rename config section ‘remote.[old name]’ to ‘remote.[new name]’
This error means that the old remote name you typed doesn’t exist.
You can check which remotes currently exist with the git remote -v
command:
$ git remote -v
# View existing remotes
> origin https://github.com/OWNER/REPOSITORY.git (fetch)
> origin https://github.com/OWNER/REPOSITORY.git (push)
Troubleshooting: Remote [new name] already exists
This error means that the remote name you want to use already exists. To solve this, either use a different remote name, or rename the original remote.
Removing a remote repository
Use the git remote rm
command to remove a remote URL from your repository.
The git remote rm
command takes one argument:
- A remote name, for example,
destination
Removing the remote URL from your repository only unlinks the local and remote repositories. It does not delete the remote repository.
Example of removing a remote repository
These examples assume you’re cloning using HTTPS, which is recommended.
$ git remote -v
# View current remotes
> origin https://github.com/OWNER/REPOSITORY.git (fetch)
> origin https://github.com/OWNER/REPOSITORY.git (push)
> destination https://github.com/FORKER/REPOSITORY.git (fetch)
> destination https://github.com/FORKER/REPOSITORY.git (push)
$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin https://github.com/OWNER/REPOSITORY.git (fetch)
> origin https://github.com/OWNER/REPOSITORY.git (push)
Note: git remote rm
does not delete the remote repository from the server. It simply
removes the remote and its references from your local repository.
Troubleshooting: Could not remove config section ‘remote.[name]’
This error means that the remote you tried to delete doesn’t exist:
$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'
Check that you’ve correctly typed the remote name.
Further reading
- «Working with Remotes» from the Pro Git book
What is the ‘fatal: remote origin already exists’ error?
fatal: remote origin already exists
is a common Git error that occurs when you clone a repository from GitHub, or an external remote repository, into your local machine and then try to update the pointing origin
URL to your own repository.
In the context of Kubernetes, the error can occur when you configure orchestrations to include Git repositories. For example, by using: git remote add origin [url].gits
fatal: remote origin already exists
is caused by the cloned repository already having a URL configured. Specifically, a URL that leads to the original profile where the repository source is.
What is a remote origin in Git?
remote origin
, as the name implies, is the place where code is stored remotely. It is the centralized server or zone where everyone pushes code to and pulls code from.
Remote repositories are versions of your project hosted on Git-compatible platforms such as GitHub, Bitbucket, GitLab, and Assembla. origin
is the standard and generic handle that is used to associate the host site’s URL.
For example, you can have an alternative remote
URL called dev
, which then becomes the handle for a separate repository but for the same code.
When you run git remote -v
, you will get a list of handles and associated URLs. So if you have different handlers for the same remote, the console output could look something like this:
D:GitHubgit remote -v origin https://github.com/prod_repo/projectx.git (fetch) origin https://github.com/prod_repo/projectx.git (push) dev https://github.com/dev_repo/projectx.git (fetch) dev https://github.com/dev_repo/projectx.git (push)
This means that you can run the following command: git push dev master
The changes made will get pushed up to the master
branch at the URL associated with dev
and not origin
.
Resolving ‘fatal: remote origin already exists’
For most development environments, origin
is the default handler used. Here are 3 ways to resolve fatal: remote origin already exists
.
1. Remove the Existing Remote
remote
refers to the hosted repository. origin is the pointer to where that remote is. Most of the time, origin
is the only pointer there is on a local repository.
If you want to change the pointing URL attached to origin
, you can remove the existing origin
and then add it back in again with the correct URL.
To remove your handler, use the remove
command on remote
, followed by the handler name – which, in our case, is origin
.
Here is an example: git remote remove origin
To check that handler is deleted properly, run the following: git remote -v
You will either get an empty list, or you will get a list of remote handlers that are currently attached to the project with origin removed from the list.
Now you can run git remote add origin [url].git
without encountering the fatal: remote origin already exists
error.
2. Update the Existing Remote’s URL
You are not always required to remove the origin handler from remote
. An alternative way to solve fatal: remote origin already exists is to update the handler’s pointing URL.
To do this, you can use the set-url
command, followed by the handler name (which is origin in our case) and the new URL.
Here is the syntax for updating an existing origin URL: git remote set-url origin [new-url]
Once this is completed, you can now push and pull code from the newly configured Git repository location.
3. Rename the Existing Remote
Alternatively, you can rename origin
to something else. This means that instead of deleting the handler’s pointing URL to make room for the new one, you can rename it and keep the original details.
To do this, use the rename
command on: remote
.
For example, if you want to rename origin
to dev
, you can use the following command: git remote rename origin dev
Now when you run git remote -v
, you will get dev as the handler instead of origin
.
D:GitHub[some-repo]git remote -v dev https://github.com/some_repo/projectx.git (fetch) dev https://github.com/some_repo/projectx.git (push)
This will give you room to add a new origin
to the list of attached handlers. So when you run git remote add origin [url].git
, you will no longer get the fatal: remote origin already exists
error prompt.
How to prevent ‘fatal: remote origin already exists’
To prevent fatal: remote origin already exists
error from occurring, you can check if the origin
handler already exists. If it does not, running the git add remote origin
command should not produce this issue.
The most important thing to note here is that origin
is only a handler’s short name. It is a reference to the URL, which is where the actual remote repository is hosted.
The handler origin
just happens to be the standardized default. This is what makes fatal: remote origin already exists
so common. The error itself can occur against any handler, provided that it has the same placeholder name.
To check if origin
even exists, run git remote -v
to get a list of current remote handlers and the associated URLs.
If origin exists, you can do one of the following:
- remove
origin
from theremote
list viaremove
command, like so:git remote remove origin
- update origin pointing URL with
set-url
, like so:git remote set-url origin [new-url]
- rename the existing
origin
handler to something else viarename
command:git remote rename origin [new-name]
K8s troubleshooting with Komodor
We hope that the guide above helps you better understand the troubleshooting steps you need to take in order to fix the fatal: remote origin already exists
error.
Keep in mind that this is just one of many Git errors that can pop up in your k8s logs and cause the system to fail. Due to the complex and distributed nature of k8s,
the search for the root cause of each such failure can be stressful, disorienting and time-consuming.
This is why we created Komodor, which acts as a single source of truth (SSOT) to streamline and shorten your k8s troubleshooting processes. Among other features, it offers:
- Change intelligence: Every issue is a result of a change. Within seconds we can help you understand exactly who did what and when.
- In-depth visibility: A complete activity timeline, showing all code and config changes, deployments, alerts, code diffs, pod logs and etc. All within one pane of glass with easy drill-down options.
- Insights into service dependencies: An easy way to understand cross-service changes and visualize their ripple effects across your entire system.
- Seamless notifications: Direct integration with your existing communication channels (e.g., Slack) so you’ll have all the information you need, when you need it.
This article discusses how to resolve the issue git fatal: remote origin already exists error
during the push or add commands.
Fix git fatal: remote origin already exists error on push
You must run the ‘git init’ command to enable git for any application or folder/directory.
Once git is initialized, we must either create a new repository or clone an existing repository to map this to the existing directory.
if this directory is created in the nested folder of any git repository, the git command throws git fatal: remote origin already exists error.
What does its origin
mean?
This error comes during multiple use cases.
- created a local nested folder app, It is a child folder of a local git repository, these folders map to the new remote repository.
B:blogjswork>git remote add origin https://github.com/intkiran/react-auth0-login.git
fatal: remote origin already exists.
An error would
fatal: remote origin already exists.
From the above code, It creates an origin local name and adds it to an existing repository.
In any local repository, How do you know the remote repository url?
using the -v
option gives the local name with a remote url as described following
And the output is
origin https://github.com/intkiran/react-auth0-login.git (fetch)
origin https://github.com/intkiran/react-auth0-login.git (push)
It gives the remote repository url mapped with the local name i.e origin.
Origin is the local name for the remote repository given by default.
This error occurs after adding a new url to the existing origin.
This post covers the solution for the following errors in the git command
- fatal: No such remote:
- Remote origin already exists on ‘git push’ to a new repository
There are many ways we can fix this.
Remove the original name from the given existing repository
First, delete the local name origin for a given remote repository using the following command.
next, add the original name to the new remote repository
git remote add origin remote-repo-url
set-url Change origin name from the given existing git repository
git remote set-url neworigin remote-repo-url
if remote-repo-url does not exist, it gives an error fatal: No such remote:
.
Replace current origin with new url in Git
below set the new url for the local name origin.
git remote set-url origin remote-repo-url
rename existing origin name in Git
The last approach is to rename the existing origin to the new name
git remote rename origin neworigin
Finally, Verify the name mapped to the URLs using the below command.
wrap
There are many ways we can fix these errors with the above solutions.
Добавил(а) microsin
Ключевое слово «origin» обычно используется для описания центрального источника (ресурса на сервере) репозитория Git. Если Вы попытаетесь добавить удаленный сервер (remote), так называемый «origin» к репозиторию, в котором описание origin уже существует, то получите ошибку «fatal: remote origin already exists». В этой статье (перевод [1]) мы обсудим подобный случай проблемы «fatal: remote origin already exists» и способ её решения.
Ошибка Git «fatal: remote origin already exists» показывает вам, что Вы пытаетесь создать remote с именем «origin», когда remote с таким именем уже существует (был прописан ранее). Это ошибка — общий случай, когда вы забыли, что уже настроили ссылку на remote репозиторий, и снова выполняете инструкции по установке. Также эту ошибку можно увидеть, если делается попытка поменять URL «origin» remote-репозитория командой git remote add.
Чтобы исправить эту ошибку, нужно сначала проверить, связан ли в настоящий момент remote с ключевым словом «origin», и что у него корректный URL. Вы можете сделать это командой git remote -v:
m:asmradiopager>git remote -v origin https://github.com/microsindotnet/git (fetch) origin https://github.com/microsindotnet/git (push)
Если «origin» URL не соответствует URL Вашего remote-репозитория, к которому Вы хотите обратиться, то можно поменять remote URL. Альтернативно можно удалить remote, и заново установить remote URL с именем «origin».
Пример проблемной ситуации. У нас есть некий репозиторий с именем «git», и мы хотим поменять его текущий origin:
https://github.com/microsindotnet/git
На новый origin:
https://github.com/microsindotnet/gitnew
Чтобы сделать это, мы используем команду git remote add command, который добавляет новый remote к репозиторию:
git remote add origin https://github.com/microsindotnet/gitnew
Но эта команда вернула ошибку:
fatal: remote origin already exists.
Этим сообщением git говорит нам, что remote origin уже существует.
Способ решения проблемы. Мы не можем добавить новый remote, используя имя, которое уже используется, даже если мы указываем для remote новый URL. В этом случае мы попытались создать новый remote с именем «origin», когда remote с таким именем уже существует. Чтобы исправить эту ошибку, мы должны удалить существующий remote, который называется «origin», и добавить новый, либо должны поменять URL существующего remote.
Чтобы удалить существующий remote и добавить новый, мы можем установить новый URL для нашего remote:
git remote set-url origin https://github.com/microsindotnet/gitnew
Это предпочтительный метод, потому что мы можем в одной команде поменять URL, связанный с нашим remote. Не понадобится уделить старый origin и создавать новый, потому что существует команда set-url.
Альтернативно мы можем удалить наш remote «origin», и после этого создать новый, с новым URL:
git remote rm origin git remote add origin https://github.com/microsindotnet/gitnew
Этот метод использует 2 команды вместо одной.
[Ссылки]
1. Git fatal: remote origin already exists Solution site:careerkarma.com.
2. git: быстрый старт.
Содержание
- Error внешний репозиторий origin уже существует
- Git — fatal: remote origin already exists
- 4 Answers 4
- Fix git fatal: remote origin already exists error on push
- Fix git fatal: remote origin already exists error on push
- Remove the original name from the given existing repository
- set-url Change origin name from the given existing git repository
- Replace current origin with new url in Git
- rename existing origin name in Git
- GitHub «fatal: remote origin already exists»
- 25 Answers 25
- Remote origin already exists on ‘git push’ to a new repository
- 22 Answers 22
Error внешний репозиторий origin уже существует
Ключевое слово «origin» обычно используется для описания центрального источника (ресурса на сервере) репозитория Git. Если Вы попытаетесь добавить удаленный сервер (remote), так называемый «origin» к репозиторию, в котором описание origin уже существует, то получите ошибку «fatal: remote origin already exists». В этой статье (перевод [1]) мы обсудим подобный случай проблемы «fatal: remote origin already exists» и способ её решения.
Ошибка Git «fatal: remote origin already exists» показывает вам, что Вы пытаетесь создать remote с именем «origin», когда remote с таким именем уже существует (был прописан ранее). Это ошибка — общий случай, когда вы забыли, что уже настроили ссылку на remote репозиторий, и снова выполняете инструкции по установке. Также эту ошибку можно увидеть, если делается попытка поменять URL «origin» remote-репозитория командой git remote add.
Чтобы исправить эту ошибку, нужно сначала проверить, связан ли в настоящий момент remote с ключевым словом «origin», и что у него корректный URL. Вы можете сделать это командой git remote -v:
Если «origin» URL не соответствует URL Вашего remote-репозитория, к которому Вы хотите обратиться, то можно поменять remote URL. Альтернативно можно удалить remote, и заново установить remote URL с именем «origin».
Пример проблемной ситуации. У нас есть некий репозиторий с именем «git», и мы хотим поменять его текущий origin:
На новый origin:
Чтобы сделать это, мы используем команду git remote add command, который добавляет новый remote к репозиторию:
Но эта команда вернула ошибку:
Этим сообщением git говорит нам, что remote origin уже существует.
Способ решения проблемы. Мы не можем добавить новый remote, используя имя, которое уже используется, даже если мы указываем для remote новый URL. В этом случае мы попытались создать новый remote с именем «origin», когда remote с таким именем уже существует. Чтобы исправить эту ошибку, мы должны удалить существующий remote, который называется «origin», и добавить новый, либо должны поменять URL существующего remote.
Чтобы удалить существующий remote и добавить новый, мы можем установить новый URL для нашего remote:
Это предпочтительный метод, потому что мы можем в одной команде поменять URL, связанный с нашим remote. Не понадобится уделить старый origin и создавать новый, потому что существует команда set-url.
Альтернативно мы можем удалить наш remote «origin», и после этого создать новый, с новым URL:
Этот метод использует 2 команды вместо одной.
Источник
Git — fatal: remote origin already exists
I can not create origin remotely with remote command:
To solve the error, I have tried this:
It is not uploading the files from my local repository to the remote:
Does each repository have its own origin?
Solution: I was using the Powershell that came with Github or Git Shell as it is also called to do my tutorial, once I switched to Git Bash it worked fine.
4 Answers 4
That will replace the current origin with a new one.
git remote rm origin
git remote add origin https://yourLink
I had a similar issue but I got it resolved using:
In order to use git push, you must specify final destination follorwed by local_branch ( in my own case, it is master for the local branch and main for the remote branch). They could however be the same. As in:
It’s quite strange as to why your origin doesn’t have a value. Typically, it should look like this:
Your origin doesn’t have the url associate with it. It’s actually name value pair. So when you say «git push origin master», Git substitues the value of origin. In my case, it would be «/mnt/temp.git».
Now what can you do ?
1) Clone the repository in another directory.
2) run » git remote -v » and get the value of origin
4) So come back to your working directory, and run » git remote add origin2 https://github.com/LongKnight/git-basics.git «
5) Run » git remote remove origin «
6) Now run » git remote rename origin2 origin «
7) Check what’s the value of origin now with «git remote -v»
It should be correctly set now. If so, run » git push «
Источник
Fix git fatal: remote origin already exists error on push
This article discusses how to resolve the issue git fatal: remote origin already exists error during the push or add commands.
Fix git fatal: remote origin already exists error on push
You must run the ‘git init’ command to enable git for any application or folder/directory.
Once git is initialized, we must either create a new repository or clone an existing repository to map this to the existing directory.
if this directory is created in the nested folder of any git repository, the git command throws git fatal: remote origin already exists error.
What does its origin mean?
This error comes during multiple use cases.
- created a local nested folder app, It is a child folder of a local git repository, these folders map to the new remote repository.
From the above code, It creates an origin local name and adds it to an existing repository.
In any local repository, How do you know the remote repository url? using the -v option gives the local name with a remote url as described following
And the output is
It gives the remote repository url mapped with the local name i.e origin.
Origin is the local name for the remote repository given by default.
This error occurs after adding a new url to the existing origin.
This post covers the solution for the following errors in the git command
- fatal: No such remote:
- Remote origin already exists on ‘git push’ to a new repository
There are many ways we can fix this.
Remove the original name from the given existing repository
First, delete the local name origin for a given remote repository using the following command.
next, add the original name to the new remote repository
set-url Change origin name from the given existing git repository
if remote-repo-url does not exist, it gives an error fatal: No such remote: .
Replace current origin with new url in Git
below set the new url for the local name origin.
rename existing origin name in Git
The last approach is to rename the existing origin to the new name
Finally, Verify the name mapped to the URLs using the below command.
There are many ways we can fix these errors with the above solutions.
Источник
GitHub «fatal: remote origin already exists»
I am trying to follow along Michael Hartl’s Rails tutorial but I’ve run across an error.
I signed up on Github and issued a new SSH key and made a new repository. But when I enter the next line into the terminal I get the following error:
Just wondered if anybody else has run across this problem?
25 Answers 25
TL;DR you should just update the existing remote:
Long version:
As the error message indicates, there is already a remote configured with the same name. So you can either add the new remote with a different name or update the existing one if you don’t need it:
To add a new remote, called for example github instead of origin (which obviously already exists in your system), do the following:
Remember though, everywhere in the tutorial you see «origin» you should replace it with «github». For example $ git push origin master should now be $ git push github master .
However, if you want to see what that origin which already exists is, you can do a $ git remote -v . If you think this is there by some error, you can update it like so:
and voila! Worked for me!
You can see what remote repositories you are configured to connect to via
That will return a list in this format:
That might help you figure out what the original ‘origin’ pointed to.
If you want to keep the remote connection that you see with the -v, but still want to follow the Rails tutorial without having to remember ‘github’ (or some other name) for your tutorial’s repo, you can rename your other repository with the command:
You should then be able to resume your tutorial.
For those of you running into the ever so common error «fatal: remote origin already exists.», or when trying to remove origin and you get «error: could not remove config section remote.origin», what you need to do is to set the origin manually.
Git for Windows PowerShell (and GitHub for Windows’ app) has a problem with this.
I ran into this, like I do so often, again when setting up my octopress. So, here’s how I got it working.
First, check your remotes:
You’ll first note that my origin has no url. Any attempt to remove it, rename it, etc all fails.
So, change the url manually:
Then you can confirm it worked by running git remote -v again:
This has fixed dozens of git repos I’ve had issues with, GitHub, BitBucket GitLab, etc.
In the special case that you are creating a new repository starting from an old repository that you used as template (Don’t do this if this is not your case). Completely erase the git files of the old repository so you can start a new one:
And then restart a new git repository as usual:
update the origin if it exist already using this command
If you need to check which remote repos you have connected with your local repos, theres a cmd:
Now if you want to remove the remote repo (say, origin) then what you can do is:
I am facing issue in Bitbucket while push the code in remote
Follow below steps:
Step-1: Update the existing remote
Step-2: You can use this command to force changes to the server with the local repository. Remote repo code will be replaced with your local repo code.
-f Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.
That error message indicates that you already have a remote in your git directory. If you are satisfied with that remote, your can push your code. If not or if you can’t push just:
The concept of remote is simply the URL of your remote repository.
The origin is an alias pointing to that URL. So instead of writing the whole URL every single time we want to push something to our repository, we just use this alias and run:
git push -u origin master
Telling to git to push our code from our local master branch to the remote origin repository.
Whenever we clone a repository, git creates this alias for us by default. Also whenever we create a new repository, we just create it our self.
Whatever the case it is, we can always change this name to anything we like, running this:
Since it is stored on the client side of the git application (on our machine) changing it will not affect anything in our development process, neither at our remote repository. Remember, it is only a name pointing to an address.
The only thing that changes here by renaming the alias, is that we have to declare this new name every time we push something to our repository.
git push -u my-remote-alias master
Obviously a single name can not point to two different addresses. That’s why you get this error message. There is already an alias named origin at your local machine. To see how many aliases you have and what are they, you can initiate this command:
This will show you all the aliases you have plus the corresponding URLs.
You can remove them as well if you like running this:
Источник
Remote origin already exists on ‘git push’ to a new repository
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:
but I am receiving this:
fatal: remote origin already exists.
22 Answers 22
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:
To remove a remote repository you enter:
Again «origin» is the name of the remote repository if you want to remove the «upstream» remote:
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:
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:
METHOD1->
Since origin already exist remove it.
METHOD2->
One can also change existing remote repository URL by ->git remote set-url
If you’re updating to use HTTPS
If you’re updating to use SSH
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.
To verify remote’s new name->
If new to Git try this tutorial->
You can simply edit your configuration file in a text editor.
/.gitconfig you need to put in something like the following:
In the oldrep/.git/config file (in the configuration file of your repository):
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).
I had 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 the task menu. This will open a power shell including Git commands.
- In the shell, switch to your old repository, e.g. cd C:pathtooldrepository .
- Show the 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:
If it’s not connected, it might show origin only.
Now remove the remote repository from the local repository by using
Check again with git remote -v , as in 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 as well.
Источник
“fatal: remote origin already exists” problem, you get this git error when you try to create a link to a remote repository called “origin” when another remote repository with that name already exists.
The answer is to alter the URL of the remote repository with the name “origin” to the URL of the remote repository you want to add, rather than trying to establish a new remote repository with the name “origin.”
You can do so with the following command:
git remote set-url origin https://github.com/your/repository
You may configure your local repository wrong if you don’t completely comprehend the instructions you’re doing, or if you cloned a repository that already has a remote with the name “origin” configured.
Let’s take a closer look at remote repositories so you don’t make the same mistake again. The most typical cause of this problem is a misunderstanding of one or more of the following: what a remote repository is, how the remote command works, or, more specifically, what the “origin” aspect of these instructions means.
Why Does the «Remote Origin Already Exists» Error Occur?
Consider the following scenario: You’re working through a Git instruction that you discovered online. So far, everything has gone smoothly. Then you come upon a line that looks like this:
git remote add origin <Your-URL>/<Your-REPOSITORY-NAME>.git
When you try to run the command above, you get the dreaded error message:
fatal: remote origin already exists.
This message is actually quite simple to comprehend. Git does not have a central server, unlike centralized VCSs. Remote repositories, or simply remotes, are what we call them in Git. Remotes are repositories to which you may have read and/or write permissions.
These are normally located on machines other than your own, and you can connect to them using SSH or HTTP. Keep in mind that, despite their name, remotes aren’t always found on remote machines: local remotes, although sounding like an oxymoron, are entirely feasible.
Remotes have names to help you recognise them, and you can have as many as you need or wish per repository. You can’t have two remotes with the same name, though. So, if you try to add a remote with the same name as an existing remote, you’ll get an error message. A fatal blunder.
If you wish to double-check if the remote called origin exists, use the following command:
This will cause your Git to display a list of all available remotes for the current repository. If you want extra information, use the verbose parameter with the remote command, such as this:
This will yield the names of each remote as well as their URLs:
origin https://github.com/your/repository (fetch)
origin https://github.com/your/repository (push)
By the way, the phrase “origin” will not always appear in the message. Assume you’re trying to add a codeleaks remote, but there’s already one with that name. The error message in this scenario would be:
fatal: remote codeleaks already exists.
The default remote is called origin, just like the default branch in Git is called controller—though that could change in the near future—but you can call it anything you want as long as it’s a legal Git name.
Four Approaches to Resolving the «Remote Origin Already Exists» Error
After explaining why, the error notice appears, we’ll go over some of the possible strategies for resolving the issue. Keep in mind that the remedy you choose will be dependent on your individual situation because this problem can occur in a variety of ways.
Approach 01: Remove the Remote that already exists
The first example we’ll look at is when a remote called origin already exists, but it’s the wrong remote for whatever reason. Let’s pretend you were previously using GitLab to store your online repositories and then switched to GitHub (or vice versa). You could do so by following the instructions below:
- Using GitHub or GitLab, create a newbit online repository.
- Remove the existing origin remote from your local repository.
- Assign the correct origin remote to the new online repository.
- Your code will be pushed to the new origin.
If you omit step #2 for whatever reason, Git will display the “remote origin already exists” message. As a result, simply deleting the existing remote could be a viable option:
As previously stated, origin is simply a term for a distant. For you, it could be a different name. You can use the Git remote command, which you saw before, to verify that the remote has been destroyed. After that, if everything looks good, you can proceed to adding the chosen remote.
Approach 02: Update the URL of Existing Remote
We just showed you how to remove an existing remote, so perhaps you can install a new one with the correct URL this time. However, you may believe that removing the remote and re-adding it with a different link will have a result that is eerily similar to changing the URL of the original remote. Of course, if that’s the case, you’re correct.
So, let’s see how we can get the same outcome as we did in the previous section, but in a shorter amount of time. You only need to use one command:
git remote set-url <REMOTE-NAME> <NEW-URL>
We’ve already mentioned that we’ll be talking about origin throughout this post, but there’s nothing stopping you from using whatever remote names you choose. So, using origin as the remote name and a URL to a real repo, a complete example may look like this:
git remote set-url origin https://github.com/git/git.git
Approach 03: Rename the Remote that already exists
Let’s imagine you already have a remote called origin for any reason. You’d want to add a new origin, but you’d like to maintain the previous one as well. What would you do if you had to do it?
Easy. Before you add the new remote, rename the old one. All you have to do now is run the following command:
git remote rename <old-name> <new-name>
Let’s imagine you wish to rename your backup remote to origin remote. You’d simply take off:
git remote rename origin backup
Then you can add your new remote called origin as usual, and the “remote origin already exists” error should be gone.
Approach 04: Don’t need to do Anything
I promise you, this isn’t a joke. But here’s the deal: When following a tutorial with a step that asks you to add a remote called origin, you may get the “remote origin already exists” issue. If you try to run the command and receive an error message, it’s possible you’ve previously done it and aren’t aware of it.
You can use the Git remote command with the verbose option to see if that’s the case, as we’ve seen before:
You’ll be able to see all of the existing remotes, as well as the URLs they link to. If the existing remote already has the same URL as the tutorial, your repo is ready to use and there is no need to do anything else.
«Remote Origin Already Exists» Nothing to get Panic
Git is a must-have in the toolkit of any modern software engineer. Unfortunately, many engineers regard Git as a difficult technology to master. Those assertions include some truth.
Though the most common Git commands are simple to learn and understand, you may come into a particularly challenging component of the tool from time to time. You might, for example, receive a strange error message. Or you can be tripped up by the different ways Git allows you to go back and tweak things.
Conclusion
In conclusion, we discussed how to fix the git error fatal: remote origin already exists. We deconstructed the notion of Git remote repositories and went over a few of the most frequent commands you’ll need to know in order to use them effectively.