如何更改 git 远程仓库地址

Git remote 是一个指针,它通常指向托管在远程服务器上的存储库的另一个副本。

在某些情况下,例如当远程存储库迁移到另一个主机时,您需要更改远程 URL 。本指南说明了如何更改 Git 远程仓库的 URL 。

更改 Git 远程仓库的 URL

每个 Git 存储库可以链接有零个或多个远程服务器。克隆存储库时,远程名称会自动设置为 origin,并指向您克隆的存储库。如果您在本地创建存储库,则可以添加新的 remote

远程服务器可以指向托管在 Git 托管服务上的存储库,例如 GitHub,GitLab 和 BitBucket 或您的私有 Git 服务器

请按照以下步骤更改远程仓库的 URL :

  1. 转到存储库所在的目录:

    cd /path/to/repository
    
  2. 运行 git remote 以列出现有的远程仓库,并查看其名称和 URL :

    git remote -v
    

    输出将如下所示:

    origin	 https://github.com/user/repo_name.git (fetch) 
    origin	 https://github.com/user/repo_name.git (push) 
  3. 使用 git remote set-url 命令,后跟远程名称和远程 URL :

    git remote set-url <remote-name> <remote-url>
    

    远程仓库的 URL 可以以 HTTPS 或 SSH 开头,具体取决于您使用的协议。如果未指定协议,则默认为 SSH 。该 URL 可以在 Git 托管服务的存储库页面上找到。

    例如,如果要改变 origin[email protected]:user/repo_name.git,请输入:

    git remote set-url origin [email protected] gitserver.com:user/repo_name.git 
    
  4. 通过列出远程连接来验证远程 URL 是否成功更改:

    git remote -v
    

    输出应如下所示:

    origin	 ssh://[email protected]:user/repo_name.git (fetch) 
    origin	 ssh://[email protected]:user/repo_name.git (push) 

现在,您已经成功更改了远程仓库的 URL 。

git remote set-url 命令实际执行的操作是使用指向远程存储库的新 URL  更新存储库文件 .git/config

...

[remote "origin"]
        url = [email protected]:user/repo_name.git
        fetch = +refs/heads/*:refs/remotes/origin/*

您也可以通过使用文本编辑器编辑 .git/config 文件来更改远程仓库的 URL 。但是,建议使用 git 命令。

结论

更改 Git 远程仓库的 URL 很简单,只需运行一行命令: git remote set-url <remote-name> <remote-url>