更改远程Git存储库的URI(URL)
我在我的硬盘驱动器(本地)上克隆了USB密钥上的回购(原产地)。 我将“起源”移到了NAS上,并成功地从这里克隆了它。
我想知道是否可以在“local”设置中更改“origin”的URI,以便现在从NAS中拔出,而不是从USB密钥中拔出。
现在,我可以看到两个解决方案:
将所有内容都推送到usb-orign,并再次将其复制到NAS(由于新提交到nas-origin,意味着很多工作);
添加一个新的远程“本地”,并删除旧的(我担心我会打破我的历史)。
您可以
git remote set-url origin git://new.url.here
(请参阅git help remote
),或者您可以编辑.git/config
并更改其中的URL。 除非你做了非常愚蠢的事情,否则你没有任何失去历史的危险(如果你担心,只需制作一份回购副本,因为回购是你的历史。)
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 Origin Server的主机
来自: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内部的糟糕形式。