克隆现有 Git 存储库

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

可通过将远程 Git 存储库克隆到计算机上的本地文件夹中来创建其本地副本。 除非使用 --single-branch 克隆选项,否则克隆远程存储库将下载该存储库所有分支上的所有提交。 克隆将新的本地存储库中的每个分支与远程存储库中的相应分支链接起来。 这样,当你推送以与团队共享本地分支更改时,将更新相应的远程分支。 同样,当你拉取以使用团队所做的更改更新本地分支时,将从相应的远程分支检索更新。 远程存储库可以是 Azure Repos Git 存储库、GitHub 存储库或其他托管的 Git 存储库。

本文提供了下列任务的过程:

  • 获取 Azure Repos Git 存储库的克隆 URL
  • 获取 GitHub 存储库的克隆 URL
  • 克隆 Azure Repos Git 存储库
  • 克隆 GitHub 存储库
  • 克隆任何 Git 存储库
  • 从克隆的存储库打开 Visual Studio 解决方案

有关 Git 工作流的概述,请参阅 Azure Repos Git 教程

访问 Azure Repos 的先决条件

  • 必须在 Azure DevOps 项目设置中启用 Repos。 如果 Repos 中心和关联页面未显示,请参阅打开或关闭 Azure DevOps 服务以重新启用 Repos。

  • 若要查看专用项目中的代码,必须是 Azure DevOps 项目的成员,具有基本访问级别或更高级别。 对于公共项目,每个人都可以查看代码。

  • 若要克隆或贡献专用项目的代码,必须是“参与者”安全组的成员或具有相应的权限集。 对于公共项目,任何人都可以克隆和贡献代码。 若要了解详细信息,请参阅什么是公共项目?

    注意

    对于公共项目,被授予利益干系人访问权限的用户对 Azure Repos 具有完全访问权限。

  • 必须在 Azure DevOps 项目设置中启用 Repos。 如果 Repos 中心和关联页面未显示,请参阅打开或关闭 Azure DevOps 服务以重新启用 Repos。

  • 若要查看代码,必须是 Azure DevOps 项目的成员,具有基本访问级别或更高级别。 如果你不是项目成员,请添加为成员

  • 若要克隆或贡献代码,在要更改的项目中,必须是“参与者”安全组的成员或具有相应的权限。

获取 Azure Repos Git 存储库的克隆 URL

通常,你需要知道要克隆的远程存储库的克隆 URL。 克隆 URL 唯一标识远程存储库。

注意

登录到 Azure DevOps 项目后,Visual Studio 支持搜索和克隆项目存储库,而无需知道克隆 URL。

  1. 在 Web 浏览器中,打开 Azure DevOps 组织的团队项目,然后选择“存储库”>“文件”以打开“文件”视图。

    Azure DevOps 项目页面的屏幕截图。

  2. 在“文件”视图中,选择“克隆”以启动“克隆存储库”弹出窗口。

    Azure DevOps 存储库页面上“克隆”按钮的屏幕截图。

  3. 从“克隆存储库”弹出窗口复制克隆 URL。

    Azure DevOps 项目站点上“克隆存储库”弹出窗口的屏幕截图。

注意

使用 Azure DevOps Services 时,项目 URL 的格式为 dev.azure.com/{your organization}/{your project}。 但是,仍然支持以前引用 visualstudio.com 格式的格式。 有关详细信息,请参阅 Azure DevOps 简介 - 将现有组织切换为使用新的域名 URL

获取 GitHub 存储库的克隆 URL

通常,你需要知道要克隆的远程存储库的克隆 URL。 克隆 URL 唯一标识远程存储库。

注意

登录到 GitHub 后,Visual Studio 支持搜索和克隆 GitHub 存储库,而无需知道克隆 URL。

  1. 打开浏览器并导航到 GitHub 帐户,选择“存储库”选项卡,然后选择要克隆的存储库。

    GitHub 站点上存储库页面的屏幕截图。

  2. 在 GitHub 存储库页面上,选择“代码”以启动“克隆”弹出窗口。 从“克隆”弹出窗口复制克隆 URL。

    GitHub 站点页面上的“克隆”弹出窗口的屏幕截图。

克隆 Azure Repos Git 存储库

通过以 Azure DevOps 项目的成员身份登录,可以克隆你可访问的专用存储库和公共存储库。 Visual Studio 支持对可通过身份验证访问的存储库执行搜索、克隆和同步操作。

注意

可以克隆公共 Azure Repos Git 存储库,而无需以其父 Azure DevOps 项目的成员身份登录。 若要在未登录的情况下克隆公共 Git 存储库,请参阅克隆任何 Git 存储库,然后连接到 Azure DevOps 中的项目。

Visual Studio 2022 通过使用“Git”菜单、“Git 更改”和“解决方案资源管理器”中的上下文菜单提供 Git 版本控制体验。 Visual Studio 2019 版本 16.8 还提供了团队资源管理器 Git 用户界面。 有关详细信息,请参阅“Visual Studio 2019 - 团队资源管理器”选项卡。

  1. 从菜单栏上的“Git”菜单中选择“克隆存储库”,以打开“克隆存储库”窗口。

    Visual Studio 中 Git 菜单上的“克隆存储库”选项的屏幕截图。

  2. 在“克隆存储库”窗口中,选择“浏览存储库”下的“Azure DevOps”以打开“连接到项目”窗口。

    Visual Studio 中“克隆存储库”窗口的屏幕截图。

  3. 在“连接到项目”窗口中,登录到 Azure DevOps 并选择要克隆的远程存储库。 你可使用搜索框来筛选远程存储库的列表。 如果没有看到远程存储库,请选择“添加 Azure DevOps Server”以添加托管该存储库的服务器。 验证要在其中创建本地克隆的本地文件夹路径,然后选择“克隆”。

    Visual Studio 中“连接到项目”窗口的屏幕截图。

克隆远程 Git 存储库之后,Visual Studio 将检测本地克隆并将其添加到“Git”菜单中的“本地存储库”列表。

Visual Studio 中 Git 菜单上的“本地存储库”选项的屏幕截图。

克隆 GitHub 存储库

通过登录到 GitHub 或使用 SSH 身份验证,可以克隆你可访问的专用存储库和公共存储库。 Visual Studio 支持对可通过身份验证访问的存储库执行搜索、克隆和同步操作。

注意

可以在未登录到 GitHub 或以其他方式进行身份验证的情况下克隆公共 GitHub 存储库。 若要在未登录的情况下克隆公共 Git 存储库,请参阅克隆任何 Git 存储库

  1. 从菜单栏上的“Git”菜单中选择“克隆存储库”,以打开“克隆存储库”窗口。

    Visual Studio 中 Git 菜单上的“克隆存储库”选项的屏幕截图。

  2. 在“克隆存储库”窗口中,选择“浏览存储库”下的“GitHub”,以打开“从 GitHub 打开”窗口。

    Visual Studio 中“克隆存储库”窗口中的 GitHub 选项的屏幕截图。

  3. 在“从 GitHub 打开”窗口中,登录到 GitHub 并选择要克隆的远程存储库。 你可使用搜索框来筛选远程存储库的列表。 验证要在其中创建本地克隆的本地文件夹路径,然后选择“克隆”。

    Visual Studio 中“从 GitHub 打开”窗口的屏幕截图。

克隆远程 Git 存储库之后,Visual Studio 将检测本地克隆并将其添加到“Git”菜单中的“本地存储库”列表。

Visual Studio 的 Git 菜单上的“本地存储库”选项的屏幕截图。

克隆任何 Git 存储库

可以使用存储库的克隆 URL 来克隆你可访问的任何 Git 存储库。

  1. 从菜单栏上的“Git”菜单中选择“克隆存储库”,以打开“克隆存储库”窗口。

    Visual Studio 中 Git 菜单上的“克隆存储库”选项的屏幕截图。

  2. 在“克隆存储库”窗口中,输入要克隆的远程 Git 存储库的克隆 URL,验证要在其中创建本地克隆的本地文件夹路径,然后选择“克隆”。

    Visual Studio 中“克隆存储库”窗口的屏幕截图。

克隆远程 Git 存储库之后,Visual Studio 将检测本地克隆并将其添加到“Git”菜单中的“本地存储库”列表。

Visual Studio 中 Git 菜单上的“本地存储库”选项的屏幕截图。

从克隆的存储库打开 Visual Studio 解决方案

  1. 从菜单栏中选择“文件”>“打开”>“项目/解决方案”,然后选择要打开的解决方案文件。

    Visual Studio 中“文件”菜单中“打开解决方案”选项的屏幕截图。

  2. 所选的 Visual Studio 解决方案现已在“解决方案资源管理器”中打开。

    在 Visual Studio 的“解决方案资源管理器”中打开的解决方案的屏幕截图。

后续步骤