I have a repo (origin) on a USB key that I cloned on my hard drive (local). I moved "origin" to a NAS and successfully tested cloning it from here.
I would like to know if I can change the URI of "origin" in the settings of "local" so it will now pull from the NAS, and not from the USB key.
For now, I can see two solutions:
push everything to the USB origin, and copy it to the NAS again (implies a lot of work due to new commits to NAS origin);
add a new remote to "local" and delete the old one (I fear I'll break my history).
You can
git remote set-url origin new.git.url/here
See git help remote
. You also can edit .git/config
and change the URLs there.
You're not in any danger of losing history unless you do something very silly (and if you're worried, just make a copy of your repo, since your repo is your history.)
Answered 2023-09-20 19:59:30
myself@git://new.url.here
- anyone git branch -u origin/master
. This will allow you to just git push
instead of having to git push origin master
every time. - anyone git push -u origin master
the first time :) - anyone git remote set-url --push origin git://...
in order to set the origin ... (push) url. - anyone git push -u --all
to push all branches at once to new url (instead of git push -u origin master
) - anyone git remote -v
# View existing remotes
# origin https://github.com/user/repo.git (fetch)
# origin https://github.com/user/repo.git (push)
git remote set-url origin https://github.com/user/repo2.git
# Change the 'origin' remote's URL
git remote -v
# Verify new remote URL
# origin https://github.com/user/repo2.git (fetch)
# origin https://github.com/user/repo2.git (push)
Answered 2023-09-20 19:59:30
git remote set-url --push origin git@github.com/User/Branch.git
and git remote set-url composer https://github.com/User/Branch.git
- anyone git remote -v
helped for verification, whereas the accepted solution did not provide that. - anyone git add . && git commit -m 'fix' && git push origin
to the new remote and it says everything is up-to-date while the new remote is empty. What could be the reason ? - anyone git remote set-url {name} {url}
git remote set-url origin https://github.com/myName/GitTest.git
Answered 2023-09-20 19:59:30
Change Host for a Git Origin Server
from: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
Hopefully this isn’t something you need to do. The server that I’ve been using to collaborate on a few git projects with had the domain name expire. This meant finding a way of migrating the local repositories to get back in sync.
Update: Thanks to @mawolf for pointing out there is an easy way with recent git versions (post Feb, 2010):
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
See the man page for details.
If you’re on an older version, then try this:
As a caveat, this works only as it is the same server, just with different names.
Assuming that the new hostname is newhost.com
, and the old one was oldhost.com
, the change is quite simple.
Edit the .git/config
file in your working directory. You should see something like:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
Change oldhost.com
to newhost.com
, save the file and you’re done.
From my limited testing (git pull origin; git push origin; gitx
) everything seems in order. And yes, I know it is bad form to mess with git internals.
Answered 2023-09-20 19:59:30
Backup your local repository _before_ messing with git internals.
- anyone This is very easy and simple; just follow these instructions.
git remote set-url origin githubrepurl
git remote show origin
Answered 2023-09-20 19:59:30
fatal: 'origin' does not appear to be a git repository
- anyone Open Terminal.
Ist Step:- Change the current working directory to your local project.
2nd Step:- 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.
3rd Step:- git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
4th Step:- Now 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)
Answered 2023-09-20 19:59:30
git remote set-url origin git://new.location
(alternatively, open .git/config
, look for [remote "origin"]
, and edit the url =
line.
You can check it worked by examining the remotes:
git remote -v
# origin git://new.location (fetch)
# origin git://new.location (push)
Next time you push, you'll have to specify the new upstream branch, e.g.:
git push -u origin master
See also: GitHub: Changing a remote's URL
Answered 2023-09-20 19:59:30
git push -u
command. Maybe obvious to others, wasn't for me. - anyone As seen here,
$ git remote rm origin
$ git remote add origin git@github.com:aplikacjainfo/proj1.git
$ git config master.remote origin
$ git config master.merge refs/heads/master
Answered 2023-09-20 19:59:30
It will work fine, you can try this
For SSH:
command: git remote set-url origin <ssh_url>
example: git remote set-url origin git@github.com:username/rep_name.git
For HTTPS:
command: git remote set-url origin <https_url>
example: git remote set-url origin https://github.com/username/REPOSITORY.git
Answered 2023-09-20 19:59:30
Answered 2023-09-20 19:59:30
git remote rm origin
git remembers details about the old origin. - anyone git remote rm origin
resolves the issue of multiple remotes: issue where I was not able to set the remote url. remote.origin.url has multiple values fatal: could not set 'remote.origin.url'
- anyone First you need to type this command to view existing remotes
git remote -v
Then second you need to type this command to Change the 'origin' remote's URL
git remote set-url origin <paste your GitHub URL>
Answered 2023-09-20 19:59:30
Write the below command from your repo terminal:
git remote set-url origin git@github.com:<username>/<repo>.git
Refer this link for more details about changing the url in the remote.
Answered 2023-09-20 19:59:30
To check git remote connection:
git remote -v
Now, set the local repository to remote git:
git remote set-url origin https://NewRepoLink.git
Now to make it upstream or push use following code:
git push --set-upstream origin master -f
Answered 2023-09-20 19:59:30
--set-upstream
made it work. - anyone if you cloned your local will automatically consist,
remote URL where it gets cloned.
you can check it using git remote -v
if you want to made change in it,
git remote set-url origin https://github.io/my_repo.git
here,
origin - your branch
if you want to overwrite existing branch you can still use it.. it will override your existing ... it will do,
git remote remove url
and
git remote add origin url
for you...
Answered 2023-09-20 19:59:30
git remote rm origin
command was needed for removing all the associated urls. Then the add command worked. - anyone Troubleshooting :
You may encounter these errors when trying to changing 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://github.com/octocat/Spoon-Knife fatal: No such remote 'sofake'
Check that you've correctly typed the remote name.
Reference : https://help.github.com/articles/changing-a-remote-s-url/
Answered 2023-09-20 19:59:30
Navigate to the project root of the local repository and check for existing remotes:
git remote -v
If your repository is using SSH you will see something like:
> origin git@github.com:USERNAME/REPOSITORY.git (fetch)
> origin git@github.com:USERNAME/REPOSITORY.git (push)
And if your repository is using HTTPS you will see something like:
> origin https://github.com/USERNAME/REPOSITORY.git (fetch)
> origin https://github.com/USERNAME/REPOSITORY.git (push)
Changing the URL is done with git remote set-url
. Depending on the output of git remote -v
, you can change the URL in the following manner:
In case of SSH, you can change the URL from REPOSITORY.git
to NEW_REPOSITORY.git
like:
$ git remote set-url origin git@github.com:USERNAME/NEW_REPOSITORY.git
And in case of HTTPS, you can change the URL from REPOSITORY.git
to NEW_REPOSITORY.git
like:
$ git remote set-url origin https://github.com/USERNAME/NEW_REPOSITORY.git
NOTE: If you've changed your GitHub username, you can follow the same process as above to update the change in the username associated with your repository. You would only have to update the USERNAME
in the git remote set-url
command.
Answered 2023-09-20 19:59:30
For me, the accepted answer worked only in the case of fetch but not pull. I did the following to make it work for push as well.
git remote set-url --push origin new.git.url/here
So to update the fetch URL:
git remote set-url origin new.git.url/here
To update the pull URL:
git remote set-url --push origin new.git.url/here
Answered 2023-09-20 19:59:30
In the Git Bash, enter the command:
git remote set-url origin https://NewRepoLink.git
Enter the Credentials
Done
Answered 2023-09-20 19:59:30
You have a lot of ways to do that:
Console
git remote set-url origin [Here new url]
Just be sure that you've opened it in a place where a repository is.
Config
It is placed in .git/config (same folder as repository)
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = [Here new url] <------------------------------------
...
TortoiseGit
Then just edit URL.
SourceTree
Click on the "Settings" button on the toolbar to open the Repository Settings window.
Click "Add" to add a remote repository path to the repository. A "Remote details" window will open.
Enter a name for the remote path.
Enter the URL/Path for the remote repository
Enter the username for the hosting service for the remote repository.
Click 'OK' to add the remote path.
Back on the Repository Settings window, click 'OK'. The new remote path should be added on the repository now.
If you need to edit an already added remote path, just click the 'Edit' button. You should be directed to the "Remote details" window where you can edit the details (URL/Path/Host Type) of the remote path.
To remove a remote repository path, click the 'Remove' button
ref. Support
Answered 2023-09-20 19:59:30
Change remote git URI to
git@github.com
rather thanhttps://github.com
git remote set-url origin git@github.com:<username>/<repo>.git
Example:
git remote set-url origin git@github.com:Chetabahana/my_repo_name.git
The benefit is that you may do git push
automatically when you use ssh-agent :
#!/bin/bash
# Check ssh connection
ssh-add -l &>/dev/null
[[ "$?" == 2 ]] && eval `ssh-agent`
ssh-add -l &>/dev/null
[[ "$?" == 1 ]] && expect $HOME/.ssh/agent
# Send git commands to push
git add . && git commit -m "your commit" && git push -u origin master
Put a script file $HOME/.ssh/agent
to let it runs ssh-add
using expect as below:
#!/usr/bin/expect -f
set HOME $env(HOME)
spawn ssh-add $HOME/.ssh/id_rsa
expect "Enter passphrase for $HOME/.ssh/id_rsa:"
send "<my_passphrase>\n";
expect "Identity added: $HOME/.ssh/id_rsa ($HOME/.ssh/id_rsa)"
interact
Answered 2023-09-20 19:59:30
To change the remote upstream:
git remote set-url origin <url>
To add more upstreams:
git remote add newplace <url>
So you can choose where to work
git push origin <branch>
or git push newplace <branch>
Answered 2023-09-20 19:59:30
You can change the url by editing the config file. Go to your project root:
nano .git/config
Then edit the url field and set your new url. Save the changes. You can verify the changes by using the command.
git remote -v
Answered 2023-09-20 19:59:30
An alternative approach is to rename the 'old' origin (in the example below I name it simply old-origin
) and adding a new one. This might be the desired approach if you still want to be able to push to the old origin every now and then:
git remote rename origin old-origin
git remote add origin git@new-git-server.com>:<username>/<projectname>.git
And in case you need to push your local state to the new origin:
git push -u origin --all
git push -u origin --tags
Answered 2023-09-20 19:59:30
If you're using TortoiseGit then follow the below steps:
TortoiseGit -> Settings
Git -> Remote
origin
URL
text box value to where ever your new remote repository isYour branch and all your local commits will remain intact and you can keep working as you were before.
Answered 2023-09-20 19:59:30
Go to the folder/repo where you want to change and execute the below commands:
The below command will change the git fetch url of the repo.
git remote set-url origin <your new url>.git
The below command will change the git push url of the repo.
git remote set-url --push origin <your new url>.git
The below command to check whether the above changes reflected or not
git remote -v
Answered 2023-09-20 19:59:30
Removing a remote
Use the git remote rm command to remove a remote URL from your repository.
$ 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)
Answered 2023-09-20 19:59:30
If you would like to set the username and password as well in the origin url, you can follow the below steps.
Exporting the password in a variable would avoid issues with special characters.
Steps:
export gituser='<Username>:<password>@'
git remote set-url origin https://${gituser}<gitlab_repo_url>
git push origin <Branch Name>
Answered 2023-09-20 19:59:30
check your privilege
in my case i need to check my username
i have two or three repository with seperate credentials.
problem is my permission i have two private git server and repositories
this second account is admin of that new repo and first one is my default user account and i should grant permission to first
Answered 2023-09-20 19:59:30
Get-ChildItem -Directory -Recurse -Depth [Number] -Hidden -name | %{$_.replace("\.git","")} | %{git -C $_ remote set-url origin $(git -C $_ remote get-url origin).replace("[OLD SERVER]", "[NEW SERVER]")}
Answered 2023-09-20 19:59:30