我在硬盘驱动器(本地)上克隆的USB密钥上有一个回购(来源)。 我将“起源”移至NAS并成功测试了从此处克隆它的过程。
我想知道是否可以在“本地”设置中更改“源”的URI,以便它现在可以从NAS而不是从USB密钥中提取。
现在,我可以看到两种解决方案:
- 将所有内容推送到usb-orign,然后再次将其复制到NAS(由于对nas-origin的新提交,这意味着很多工作);
- 在“本地”中添加新的遥控器,然后删除旧的遥控器(我担心会破坏我的历史记录)。
#1楼
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)
#2楼
您可以
git remote set-url origin new.git.url/here
(请参阅git help remote
),也可以只编辑.git/config
并在那里更改URL。 除非您做一些非常愚蠢的事情,否则您不会失去历史记录的危险(并且,如果担心,只需复制一份您的回购协议,因为您的回购协议就是您的历史记录。)
#3楼
git remote set-url origin git://new.location
(或者,打开.git/config
,查找[remote "origin"]
,然后编辑url =
行。
您可以通过检查遥控器来检查其是否有效:
git remote -v
# origin git://new.location (fetch)
# origin git://new.location (push)
下次按下时,您必须指定新的上游分支,例如:
git push -u origin master
另请参阅: GitHub:更改遥控器的URL
#4楼
git remote set-url {名称} {url}
例如) git remote set-url origin https://github.com/myName/GitTest.git
#5楼
- 在gitbash上使用命令删除原点git remote rm origin
- 现在使用gitbash添加新的原点git remote add origin (从项目存储库中的位存储桶中复制HTTP URL)完成
#6楼
在Git Bash中,输入命令:
git remote set-url origin https://NewRepoLink.git
输入凭证
完成
#7楼
如果您克隆了本地文件,则本地文件将自动包含在内,
克隆它的远程URL。
您可以使用git remote -v
检查它
如果您要进行更改,
git remote set-url origin https://github.io/my_repo.git
这里,
来源-您的分支
如果您想覆盖现有分支,您仍然可以使用它。它将覆盖您现有的分支...
git remote remove url
and
git remote add origin url
为了你...
#8楼
如果您使用的是TortoiseGit,请按照以下步骤操作:
- 转到本地结帐文件夹,然后右键单击以转到
TortoiseGit -> Settings
- 在左窗格中,选择
Git -> Remote
- 在右侧窗格中,选择
origin
- 现在,将
URL
文本框的值更改为新的远程存储库所在的位置
您的分支和所有本地提交将保持不变,并且您可以像以前一样继续工作。
#9楼
切换远程URL
打开终端。
步骤: -将当前工作目录更改为本地项目。
第二步: -列出您现有的遥控器,以获取要更改的遥控器的名称。
git remote -v
origin https://github.com/USERNAME/REPOSITORY.git (fetch)
origin https://github.com/USERNAME/REPOSITORY.git (push)
使用git remote set-url命令将远程URL从HTTPS更改为SSH。
第三步: git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
第四步: -现在验证远程URL已更改。
git remote -v
验证新的远程URL
origin git@github.com:USERNAME/REPOSITORY.git (fetch)
origin git@github.com:USERNAME/REPOSITORY.git (push)
#10楼
来自: http : //pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
希望这不是您需要做的。 我用来与几个git项目进行协作的服务器的域名已过期。 这意味着找到一种迁移本地存储库以使其恢复同步的方法。
更新:感谢@mawolf指出最近的git版本有一种简便的方法(2010年2月发布):
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
有关详细信息,请参见手册页。
如果您使用的是旧版本,请尝试以下操作:
需要注意的是,这仅适用于同一台服务器,只是名称不同。
假设新的主机名是newhost.com
,旧的主机名是oldhost.com
,则更改非常简单。
在工作目录中编辑.git/config
文件。 您应该看到类似以下内容:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
将oldhost.com
更改为newhost.com
,保存文件即可。
从我的有限测试( git pull origin; git push origin; gitx
) git pull origin; git push origin; gitx
一切似乎井井有条。 是的,我知道混入git内部结构是不好的形式。
#11楼
我工作:
git remote set-url origin <project>
#12楼
故障排除 :
尝试更改遥控器时,您可能会遇到这些错误。 没有这样的远程“ [名称]”
此错误意味着您尝试更改的遥控器不存在:
git remote set-url sofake https://github.com/octocat/Spoon-Knife致命:没有这样的远程“ sofake”
检查您是否正确输入了远程名称。
参考: https : //help.github.com/articles/changing-a-remote-s-url/
#13楼
要检查git远程连接:
git remote -v
现在,将本地存储库设置为远程git:
git remote set-url origin https://NewRepoLink.git
现在使其成为上游或推送使用以下代码:
git push --set-upstream origin master -f
#14楼
您有很多方法可以做到这一点:
安慰
git remote set-url origin [Here new url]
只需确保已在存储库所在的位置将其打开即可。
设定档
它放置在.git / config(与存储库相同的文件夹)中
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = [Here new url] <------------------------------------
...
龟龟
然后,只需编辑URL。
源树
- 单击工具栏上的“设置”按钮以打开“存储库设置”窗口。
- 单击“添加”以将远程存储库路径添加到存储库。 将打开“远程详细信息”窗口。
- 输入远程路径的名称。
- 输入远程存储库的URL /路径
- 输入远程存储库的托管服务的用户名。
- 单击“确定”添加远程路径。
- 返回“存储库设置”窗口,单击“确定”。 现在应该在存储库中添加新的远程路径。
- 如果您需要编辑已经添加的远程路径,只需单击“编辑”按钮。 应该将您定向到“远程详细信息”窗口,您可以在其中编辑远程路径的详细信息(URL /路径/主机类型)。
- 要删除远程存储库路径,请单击“删除”按钮
参考 支持
#15楼
将远程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-agent时自动执行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
#16楼
对于那些想要从Visual Studio 2019进行此更改的人
打开团队资源管理器(Ctrl + M)
主页->设置
Git->存储库设置
遥控器->编辑