我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。
我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。
到目前为止,我可以看到两个解决方案:
把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。
我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。
我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。
到目前为止,我可以看到两个解决方案:
把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。
当前回答
您可以通过编辑 config 文件来更改 URL。
nano .git/config
然后编辑 url 字段并设置新的 url. 保存更改. 您可以使用命令验证更改。
git remote -v
其他回答
你有很多方法可以做到这一点:
安慰
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/路径的远程仓库 输入用户名的托管服务的远程仓库. 点击“OK”添加远程路径。
此分類上一篇
此分類上一篇
ref. 支持
你可以
git remote set-url origin new.git.url/here
您也可以编辑.git/config 并在那里更改 URL。
你没有失去历史的危险,除非你做一些非常愚蠢的事情(如果你担心,只是做一个复印件,因为你的复印件是你的历史)。
转换远程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)
更改远程 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 Origin 服务器
从: 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
如果你有更古老的版本,那就尝试一下:
在工作目录中编辑.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 起源; git push 起源; gitx)一切似乎顺序。