Changing a remote's URL
The git remote set-url command changes an existing remote repository URL.
In this article
- Switching remote URLs from SSH to HTTPS
- Switching remote URLs from HTTPS to SSH
- Troubleshooting
- Further reading
Tip: For information on the difference between HTTPS and SSH URLs, see "Which remote URL should I use?"
The git remote set-url command takes two arguments:
- An existing remote name. For example, originorupstreamare two common choices.
- 
A new URL for the remote. For example: - 
If you're updating to use HTTPS, your URL might look like: https://[hostname]/USERNAME/REPOSITORY.git
- 
If you're updating to use SSH, your URL might look like: git@hostname:USERNAME/REPOSITORY.git
 
- 
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@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname:USERNAME/REPOSITORY.git (push)
- 
Change your remote's URL from SSH to HTTPS with the git remote set-urlcommand.$ git remote set-url origin https://hostname/USERNAME/REPOSITORY.git
- 
Verify that the remote URL has changed. $ git remote -v # Verify new remote URL > origin https://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/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.
- If you have two-factor authentication enabled, you must create a personal access token to use instead of your GitHub password.
- You can use a credential helper so Git will remember your GitHub username and password 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://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/REPOSITORY.git (push)
- 
Change your remote's URL from HTTPS to SSH with the git remote set-urlcommand.$ git remote set-url origin git@hostname:USERNAME/REPOSITORY.git
- 
Verify that the remote URL has changed. $ git remote -v # Verify new remote URL > origin git@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname:USERNAME/REPOSITORY.git (push)
Troubleshooting
You may encounter these errors when trying to change a remote.
No such remote '[name]'
This error means that the remote you tried to change doesn't exist:
$ git remote set-url sofake https://hostname/octocat/Spoon-Knife
> fatal: No such remote 'sofake'Check that you've correctly typed the remote name.