在 Azure Repos 中使用 Git 开始

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015 |Visual Studio 2013

开始使用 Azure Repos 和 Git 存储库开发代码。 可以使用Visual Studio或 Git 命令克隆存储库、定义本地分支、提交和推送更改以及与他人同步。 如果需要创建或导入存储库,请参阅 在项目中创建新的 Git 存储库导入 Git 存储库

注意

本文介绍如何使用Visual Studio管理 git 存储库Azure Repos。 使用类似的过程,可以使用Visual Studio来管理GitHub存储库。 若要克隆GitHub存储库,请获取如克隆存储库中所述的 URL。

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

注意

Visual Studio 2019 版本 16.8 及更高版本提供了一个新的 Git 菜单,用于管理与团队资源管理器相比上下文切换较少的 Git 工作流。 本文中Visual Studio 2019 选项卡下提供的过程提供有关使用 Git 体验以及团队资源管理器的信息。 若要了解详细信息,请参阅 Git 和团队资源管理器的并行比较

先决条件

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

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

    • 如果没有项目,请创建一个项目或 免费注册

    • 如果你不是项目成员, 请添加

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

    注意

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

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

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

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

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

  • 若要克隆或参与代码,你必须是 参与者 安全组的成员或具有相应的权限。

若要详细了解权限和访问权限,请参阅 默认 Git 存储库和分支权限 以及 关于访问级别

获取代码

可以 克隆 远程 Git 存储库以创建它的本地副本。 克隆会创建源代码的副本,以便你能够使用源代码和版本控制信息,以便 Git 可以管理源代码。

如果想要在不克隆的情况下创建本地存储库,请参阅 创建新的 Git 存储库。 创建本地存储库后,可以继续 提交共享同步 工作。

Visual Studio 2019 版本 16.8 及更高版本提供 Git 版本控制体验,同时维护团队资源管理器 Git 用户界面。 可以互换地从任一接口练习 Git 功能。 下面提供了一个并行比较,用于克隆存储库。

注意

通过 团队资源管理器 连接到项目的优点之一是可以访问工作项中心。 有关团队资源管理器功能的概述,请参阅Visual Studio团队资源管理器中的导航

Visual Studio Git

  1. 从菜单栏上的 “Git ”菜单中,选择“ 克隆存储库...”

Screenshot of the 'Clone Repository' option in the Git menu in Visual Studio 2019.

  1. “克隆存储库 ”窗口中,输入克隆存储库的远程存储库位置和文件夹路径。 如果不知道远程存储库位置,请从“浏览存储库”选项中选择Azure DevOps

Screenshot of the 'Clone Repository' window in Visual Studio 2019.

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

Screenshot of the 'Local Repositories' option in the Git menu in Visual Studio 2019.

Visual Studio 团队资源管理器

  1. 团队资源管理器中,选择连接以打开“连接”页,然后选择“管理连接>”连接以Project

Screenshot of the 'Connect to a Project' link in Team Explorer in Visual Studio 2019.

  1. 连接Project窗口中,选择要克隆的存储库,然后选择“克隆”。 如果未看到存储库,请选择“添加Azure DevOps Server以添加托管存储库的服务器。 可以筛选列表以查找存储库。

Screenshot of the 'Connect to a Project' window in Visual Studio 2019.

  1. 验证计算机上克隆存储库的位置,然后选择“ 克隆”。

注意

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

提交工作

Git 分支 将更改与项目中的其他工作隔离开来。 建议的 Git 工作流 是为每个功能使用新的分支,或修复你正在处理的功能。 在本地 Git 存储库中 提交 ,以在该分支上保存更改。

Visual Studio Git

  1. 从菜单栏上的 Git 菜单中,选择 “新建分支...” 以打开 “创建新分支 ”窗口。

Screenshot of the 'New Branch' option in the Git menu in Visual Studio 2019.

  1. “创建新分支 ”窗口中,输入描述性分支名称,让其他人知道分支包含的工作。 默认情况下,Visual Studio从当前分支创建新分支。 “签出分支”复选框会自动切换到新创建的分支。 选择“创建”。

Screenshot of the 'Create a new branch' window in Visual Studio 2019.

  1. 将 README.md 文件添加到克隆的存储库。 在解决方案资源管理器中,可以使用文件夹视图浏览存储库内容,或在存储库中打开Visual Studio解决方案。 Git 跟踪Visual Studio内外所做的更改。

  2. 对更改感到满意时,请使用提交将其保存在 Git 中。 在 “Git 更改 ”窗口中,输入描述更改的消息,然后选择“ 全部提交”。 提交所有 提交未标记的更改,并跳过暂存区域。 可以选择在提交之前暂存所有文件,方法是在 “Git 更改 ”窗口中的“更改”部分顶部选择“所有 + (加) ”按钮。

Screenshot of the 'Commit All' button in the 'Git Changes' window in Visual Studio 2019.

选择提交信息链接以获取有关提交的详细信息。

Screenshot showing the commit information link in Visual Studio 2019.

Visual Studio 团队资源管理器

  1. 团队资源管理器中,选择“ 开始 ”按钮,然后选择 “分支”。

Screenshot showing the Branches option in Team Explorer in Visual Studio 2019.

  1. 右键单击默认分支,通常命名 main,然后选择 “新建本地分支...”

Screenshot of the 'New Local Branch From' menu option in the context menu of the main branch in Visual Studio 2019.

  1. 输入描述性分支名称,让其他人知道分支包含哪些工作。 选择 “创建分支”。

Screenshot of the branch name text and 'Create Branch' button in Visual Studio 2019.

  1. 将 README.md 文件添加到克隆的存储库。 在团队资源管理器“主页”视图中,可以使用“显示文件夹视图”浏览存储库内容,或在存储库中打开Visual Studio解决方案。 Git 跟踪Visual Studio内外所做的更改。

  2. 对更改感到满意时,请使用提交将其保存在 Git 中。 通过选择“主页”按钮并选择“更改”打开团队资源管理器更改”视图。

Screenshot of the Changes option in Team Explorer in Visual Studio 2019.

  1. 输入描述提交的消息,然后选择“ 全部提交”。

Screenshot of commit message text and 'Commit All' button in Visual Studio 2019.

注意

如果有多个文件,并且不想全部提交这些文件,可以右键单击每个文件并选择 “暂存”。 如果暂存要提交的所有文件,请选择 “提交暂存”。 手动暂存更改时,提交暂存替换“全部提交”。

Visual Studio Git

Screenshot of the Stage option in the 'Git Changes' window in Visual Studio 2019.

Visual Studio 团队资源管理器

Screenshot of the Stage option in the changed-file context menu in Team Explorer in Visual Studio 2019.

共享所做的更改

将一个或多个提交添加到分支并准备好与他人共享这些更改后, 推送 提交,以便其他人可以看到这些更改。

推送提交后,可以创建 拉取请求。 拉取请求可让其他人知道你希望查看你的更改。 审批后,拉取请求通常会将更改添加到远程存储库的默认分支。

Visual Studio Git

  1. “Git 更改 ”窗口中,选择向上键按钮来推送提交。

Screenshot of the up-arrow push button in the 'Git Changes' window of Visual Studio 2019.

或者,可以从 Git 存储库 窗口推送更改。 若要打开 Git 存储库 窗口,请在 “Git 更改 ”窗口中选择传出/传入链接。

Screenshot of the 'outgoing / incoming' link in the 'Git Changes' window, and the Push link in the 'Git Repository' window of Visual Studio 2019.

或者,可以从菜单栏上的 Git 菜单中推送更改。

Screenshot of the Push option from the Git menu in Visual Studio 2019.

  1. 创建拉取请求,以便其他人可以查看所做的更改。 如果刚刚从“Git 更改”窗口推送更改,则可以选择“创建拉取请求”链接以打开 Web 浏览器,可以在Azure Repos Web 门户中创建新的拉取请求。

Screenshot of the 'Create a Pull Request' link in the 'Git Changes' window in Visual Studio 2019.

或者,如果刚从 Git 存储库 窗口推送更改,则可以选择该窗口顶部的“ 创建拉取请求”链接

Screenshot of the 'Create a Pull Request' link in the 'Git Repository' window in Visual Studio 2019.

或者,可以在 “Git 存储库 ”窗口中右键单击任何分支,然后选择“ 创建拉取请求”。

Screenshot of the 'Create a Pull Request' menu option from the branch context menu in the 'Git Repository' window in Visual Studio 2019.

Visual Studio 团队资源管理器

  1. 团队资源管理器中,选择“ 开始 ”,然后选择“ 同步 ”以打开 同步

Screenshot of the Sync option in Team Explorer in Visual Studio 2019.

还可以通过在提交提交后立即选择“同步”,从“更改”查看同步视图。

Screenshot of the Sync link that appears after making a commit in Visual Studio 2019.

  1. “同步 ”视图中,选择 “推送 ”以将提交上传到远程存储库。 如果这是你第一次推送到存储库,你将看到消息: The current branch does not track a remote branch...这让你知道提交已推送到远程存储库上的新分支,并且将来从当前分支推送的提交将上传到该远程分支。

Screenshot of the Push link in the Synchronization view of Team Explorer in Visual Studio 2019.

  1. 创建拉取请求,以便其他人可以查看所做的更改。 选择“开始”并选择“拉取请求”,在团队资源管理器中打开拉取请求

Screenshot of the 'Pull Requests' option in Team Explorer in Visual Studio 2019.

  1. “拉取请求”中,可以查看由你打开的拉取请求,分配给你,并且可以创建新的拉取请求。 选择“新建拉取请求”以打开 Web 浏览器,可在Azure Repos Web 门户中创建新的拉取请求。

Screenshot of the 'New Pull Request' link in the Pull Requests view of Team Explorer in Visual Studio 2019.

拉取请求在 Azure Repos Web 门户中打开时,请验证源分支和目标分支。 在此示例中,我们希望将分支中的 add-readme-file 提交合并到分支中 main 。 输入标题和可选说明,指定任何审阅者,可以选择关联任何工作项,然后选择“ 创建”。

Screenshot of the 'New Pull Request' form in the Azure Repos web portal.

有关拉取请求的详细信息,请参阅 拉取请求 教程。

与其他人同步

可以通过 拉取 其他人创建的提交,使本地分支与其远程分支保持同步。 虽然 Git 擅长将传入的更改与更改合并,但有时可能需要 解决合并冲突。 在处理功能分支时,最好定期切换到 main 分支并拉取新提交,使其与远程 main 分支保持最新状态。

Visual Studio Git

“Git 更改 ”窗口中,可以使用 “提取”、“ 拉取”、“ 推送”和 “同步 ”按钮使本地分支保持最新状态。

Screenshot of the Fetch, Pull, Push and Sync buttons in the 'Git Changes' window of Visual Studio 2019.

从左到右的屏幕截图中,按钮控件为:

  • 提取 不在本地分支中的远程提交,但不会合并它们。
  • 拉取 执行提取,然后将下载的提交合并到本地分支。
  • 推送 会将未推送的提交上传到远程存储库,这会将它们添加到相应的远程分支。
  • 同步 执行 拉取 ,然后执行 推送

还可以从 Git 菜单中选择 “提取”、“ 拉取”、“ 推送”和 “同步 ”。

Screenshot of the Fetch, Pull, Push and Sync options in the Git menu in Visual Studio 2019.

Visual Studio 团队资源管理器

  1. 团队资源管理器中,选择“ 开始 ”,然后选择 “同步 ”以打开 同步

Screenshot of the Sync option in 'Team Explorer' in Visual Studio 2019.

  1. 可以使用 拉取 链接将最新更改下载到分支。 有两个 拉取 链接,一个靠近顶部,一个位于 传入提交 部分。 可以使用任一项,因为它们都执行相同的操作。

Screenshot of the Pull link in the Synchronization view of Team Explorer in Visual Studio 2019.