我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。
我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。
到目前为止,我可以看到两个解决方案:
把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。
我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。
我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。
到目前为止,我可以看到两个解决方案:
把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。
当前回答
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)
更改远程的URL
其他回答
更改远程 git URI 到 git@github.com 而不是 https://github.com
git remote set-url origin git@github.com:<username>/<repo>.git
例子:
git remote set-url origin git@github.com:Chetabahana/my_repo_name.git
优点是,当您使用 ssh 代理时,您可以自动进行 git push :
#!/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
插入一个脚本文件 $HOME/.ssh/agent 让它运行 ssh-add 使用预期如下:
#!/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
在 Git Bash 中,输入命令:
git 远程设置 URL 起源 https://NewRepoLink.git
输入信号
达尼
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)
更改远程的URL
这个答案属于一个问题,我无法在其他地方找到答案:做这个项目在Gitlab,有一个子组。
git remote add origin git@gitlab.com:group/subgroup/project.git
与所有有“用户名”而不是“组”的答案相反,没有一个通过SSH为我工作。
git remote add origin https://username@gitlab.com/group/subgroup/project.git
请注意两者之间的区别是 ".com:group" 和 ".com/group" 。
如果这不是直接从盒子上工作,我使用了HTTPS方法之前成功使用SSH一个,可能是一个因素,但我不能生气尝试并重复它没有它。
转换远程URL
开放终端。
Ist 步骤: 将当前工作目录更改为本地项目。
第二步:列出您的现有远程,以获得您想要更改的远程的名称。
远程 -v
origin https://github.com/USERNAME/REPOSITORY.git (fetch)
origin https://github.com/USERNAME/REPOSITORY.git (push)
从 HTTPS 更改远程 URL 到 SSH 使用 git 远程设置 URL 命令。
第三步:- git 远程设置 URL 起源 git@github.com:USERNAME/REPOSITORY.git
步骤4:现在确保远程 URL 已改变。
git 远程 -v 查看新远程 URL
origin git@github.com:USERNAME/REPOSITORY.git (fetch)
origin git@github.com:USERNAME/REPOSITORY.git (push)