Help us learn about your current experience with the documentation. Take the survey.

教程:更新 Git 远程 URL

  • 版本:Free, Premium, Ultimate
  • 提供:GitLab.com, GitLab Self-Managed, GitLab Dedicated

在以下情况下,请更新您的 Git 远程 URL:

  • 您从另一个 Git 仓库主机导入了现有项目。
  • 您的组织已将项目迁移到具有新域名的新 GitLab 实例。
  • 项目在同一 GitLab 实例中被重命名为新路径。

如果您没有来自旧远程的现有本地工作副本,则不需要本教程。 您可以直接从新的 GitLab URL 克隆项目。

本教程介绍如何更新本地仓库的远程 URL,而不会:

  • 丢失任何未完成的本机更改。
  • 丢失尚未发布到 GitLab 的更改。
  • 从新 URL 创建新的克隆工作副本。

本教程使用 git-remote 命令来 管理远程和跟踪仓库

要更新 Git 远程 URL:

开始之前

您必须具备:

  • 一个具有 Git 仓库和新 GitLab URL 的 GitLab 项目。
  • 您正在迁移到新 GitLab URL 的项目的克隆本地工作副本。
  • Git 已安装到您的本地机器
  • 访问您本地机器的命令行界面 (CLI)。在 macOS 上,您可以使用终端。在 Windows 上,您可以使用 PowerShell。Linux 用户可能已经熟悉其系统的 CLI。
  • GitLab 的身份验证凭据:

确定现有和新 URL

要更新 Git 远程 URL,请确定您仓库的现有和新 URL:

  1. 打开终端或命令提示符。

  2. 进入您的本地仓库工作副本。要更改目录,请使用 cd

    cd <repository-name>
  3. 每个仓库都有一个名为 origin 的默认远程。要查看远程仓库的当前 fetchpush URL,请运行:

    git remote -v
  4. 复制并记下返回的 URL。它们通常是相同的。

  5. 获取新 URL:

    1. 转到 GitLab。
    2. 在左侧边栏中,选择 搜索或跳转至 并找到您的项目。
    3. 在左侧边栏中,选择 代码 > 仓库,转到项目的 仓库 页面。
    4. 在右上角,选择 代码
    5. 根据您用于身份验证和通过 git 克隆的方法,复制 HTTPS 或 SSH URL。如果您不确定,请使用与上一步中 origin URL 相同的方法。
    6. 记下复制的 URL。

更新 Git 远程 URL

要更新 Git 远程 URL:

  1. 打开终端或命令提示符。

  2. 进入您的本地仓库工作副本。要更改目录,请使用 cd

    cd <repository-name>
  3. 更新远程 URL,将 <new_url> 替换为您复制的新仓库 URL:

    git remote set-url origin <new_url>
  4. 验证远程 URL 更新是否成功。 以下命令显示 fetch 和 push 操作的新 URL,列出本地分支,并确认它们已跟踪到 GitLab:

    git remote show origin
    • 如果更新不成功,请返回上一步,确保您有正确的 <new_url>,然后重试。

要更新多个仓库的远程 URL:

  1. 使用 git remote set-url 命令。将 origin 替换为您要更新的远程的名称。例如:

    git remote set-url <remote_name> <new_url>
  2. 验证每个远程 URL 更新:

    git remote show <remote_name>

更新远程 URL 后,您可以像往常一样继续使用 Git 命令。 您的下一个 git fetchgit pullgit push 将使用来自 GitLab 的新 URL。

恭喜,您已成功更新仓库的远程 URL。

(可选) 保留原始远程 URL

您的项目可能有多个远程位置。 例如,您有一个托管在 GitHub 上的项目的派生仓库,但您想在向 GitHub 发起拉取请求之前,在 GitLab 中处理您的派生仓库。

除了更新它之外,还要保留原始远程 URL,并维护新旧远程 URL,您可以添加一个新的远程,而不是修改现有的远程。

通过这种方法,您可以逐步过渡到新 URL,同时仍保持对原始仓库的访问权限。

要添加新的远程 URL:

  1. 打开终端或命令提示符。

  2. 进入您的本地仓库工作副本。

  3. 添加新的远程 URL。将 <new_remote_name> 替换为新远程的名称,例如 new-origin,并将 <new_url> 替换为新仓库 URL:

    git remote add <new_remote_name> <new_url>
  4. 验证新远程是否已添加:

    git remote -v

现在您可以使用原始远程和新远程。例如:

  • 推送到原始远程:git push origin main
  • 推送到新远程:git push <new_remote_name> main