更改远程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内部的糟糕形式。

    链接地址: http://www.djcxy.com/p/79.html

    上一篇: Change the URI (URL) for a remote Git repository

    下一篇: How do you create a remote Git branch?