与Azure Repos和Visual Studio共享代码

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解决方案。 可以使用Visual Studio来管理 git 存储库或GitHub存储库Azure Repos。 本文提供以下任务的过程:

  • 将项目或解决方案添加到本地 Git 存储库
  • 将代码发布到 Azure Repos Git 存储库或GitHub存储库
  • 在发布之前查看代码更改
  • 将工作项链接到提交
  • 提交和推送更新
  • 从存储库的主分支拉取更改

若要克隆GitHub存储库,请获取克隆 URL,如克隆存储库中所述。

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

先决条件

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

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

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

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

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

    注意

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

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

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

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

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

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

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

注意

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

将项目或解决方案添加到新的本地 Git 存储库

使用 Git 与其他人共享Visual Studio解决方案的第一步是创建代码的本地 Git 存储库。 如果第一次使用Visual Studio连接到Azure Repos,请参阅连接从Visual Studio获取项目的详细信息。

  1. 通过右键单击解决方案资源管理器中的解决方案名称,然后选择“创建 Git 存储库”,为Visual Studio解决方案创建新的本地 Git 存储库。 或者,在Visual Studio右下角的状态栏上选择“添加到源代码管理”,然后选择“Git”。 如果未看到这些选项,则代码已位于 Git 存储库中。

    Screenshot of the 'Create Git repository' option in the Solution Explorer context menu in Visual Studio 2019.

    或者,从菜单栏中选择 “Git 创建 Git > 存储库 ”以启动 “创建 Git 存储库 ”窗口。 如果未看到此选项,则代码已位于 Git 存储库中。

    Screenshot of the 'Create Git Repository' option in the Git menu from the menu bar of Visual Studio 2019.

  2. 此步骤仅适用于Visual Studio Git 版本控制体验:在“创建 Git 存储库”窗口中,仅选择“本地”,验证本地路径是否正确,然后选择“创建”。

    Screenshot of the 'Create a Git repository' window with the 'Local only' option selected in Visual Studio 2019.

    团队资源管理器 不会启动 “创建 Git 存储库 ”窗口,并假定需要本地 Git 存储库。

现已在Visual Studio解决方案文件夹中创建了本地 Git 存储库,并将代码提交到该存储库中。 本地 Git 存储库包含Visual Studio解决方案和 Git 资源。

Screenshot of the Git folder, Git ignore file, and Git attributes file in Windows file explorer.

发布代码

通过将本地 Git 存储库发布到 Azure Repos Git 存储库,可以与他人共享工作。

Visual Studio 2019 版本 16.8 及更高版本提供 Git 版本控制体验,同时维护团队资源管理器 Git 用户界面。 若要使用团队资源管理器,请从菜单栏中取消选中 ToolsOptionsPreview>>FeaturesNew>Git 用户体验。 可以互换地从任一接口练习 Git 功能。 下面提供了一个并行比较,用于发布代码。

注意

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

Visual Studio Git

  1. 连接Azure DevOps存储库,方法是右键单击解决方案资源管理器中的解决方案名称,然后选择“推送到 Git 服务”以启动“创建 Git 存储库”窗口。

Screenshot of the 'Push to Git service' menu option in the Git menu on the menu bar in Visual Studio 2019.

或者,从菜单栏中选择 “Git > 推送到 Git 服务 ”以启动 “创建 Git 存储库 ”窗口。

Screenshot of the 'Push to Git service' option in the in Visual Studio 2019 context menu.

  1. 打开浏览器,并使用 URL 格式https://dev.azure.com/<OrganizationName>/<ProjectName>导航到Azure DevOps项目。 如果还没有项目, 请创建一个项目

  2. 在Azure DevOps项目中,在没有自述文件的情况下创建空的 Git 存储库。 从 “克隆存储库 ”弹出窗口复制克隆 URL。

Screenshot of the 'Clone Repository' popup from the Azure DevOps project site.

  1. “创建 Git 存储库 ”窗口中,选择 “现有远程 ”,然后输入上一步中的存储库克隆 URL,然后选择“ 推送”。 有关如何创建新的Azure DevOps存储库的详细信息,请参阅在项目中创建新的 Git 存储库

Screenshot of the 'Create a Git repository' window, with the URL of an empty Azure repo, in Visual Studio 2019.

  1. Git 更改”窗口显示一条确认消息,指出代码现在位于Azure DevOps存储库中。

Screenshot of the 'Git Changes' window, with a confirmation message that your code is in 'Azure DevOps' repo, in Visual Studio 2019.

Visual Studio 团队资源管理器

  1. 团队资源管理器同步视图的“推送到 Azure Dev Ops Services”部分,选择“发布 Git 存储库”按钮。

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

  1. 选择Azure DevOps帐户、组织和存储库名称,然后选择“发布存储库”。

Screenshot of the Azure DevOps account, organization, and repo name options and the 'Publish Repository' button in the 'Synchronization' view of 'Team Explorer' in Visual Studio 2019.

此步骤在Azure DevOps帐户中创建一个新项目,该帐户的名称与为存储库选择的名称相同。 若要在现有项目中创建存储库,请选择存储库名称旁边的“高级”,然后选择一个项目。

  1. 代码现在位于 Azure Repos Git 存储库中。 可以通过选择“在 web 上查看”来在 web 上查看代码。

Screenshot of the 'See it on the web' link in the 'Home' view of 'Team Explorer' in Visual Studio 2019.

注意

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

查看提交更改

最好在发布之前查看提交中的代码更改。 Visual Studio提供了一个差异视图,可帮助你查看自上一次提交以来所做的所有更改。

Visual Studio Git

  1. 若要查看提交中更改的内容,请从菜单栏中选择“Git 管理分支”打开“Git >存储库”窗口。

Screenshot of in Visual Studio 2019.

  1. “Git 存储库 ”窗口中,选择分支,右键单击提交,然后选择 “查看提交详细信息 ”以打开 “提交 ”窗口。

Screenshot of the 'View Commit Details' menu option for a commit in the 'Git Repository' window in Visual Studio 2019.

  1. “提交 ”窗口中,可以右键单击任何文件,然后选择“ 与上一个文件进行比较 ”以查看提交所做的文件更改。

Screenshot of the 'Compare with Previous' option in the Commit pane in Visual Studio 2019.

Visual Studio 团队资源管理器

  1. 若要查看提交中更改的内容,请转到团队资源管理器中的“同步”页,右键单击任何提交,然后选择“查看提交详细信息”以打开“Git 详细信息”窗口。

Screenshot of a commit in the Synchronization view of Team Explorer in Visual Studio 2019.

  1. 在“ 提交详细信息 ”窗口中,可以右键单击任何文件,然后选择“ 与上一个文件进行比较 ”以查看提交所做的文件更改。

Screenshot of the 'Compare with Previous' option in the 'Commit Details' window in Visual Studio 2019.

开发软件时,可以捕获哪些提交支持完成工作项,例如Azure DevOps任务或 bug 修复。 链接到提交的工作项的审核线索可让你的团队了解任务和 bug 的解决方式。

注意

连接到 Azure Repos Git 存储库时,支持#ID语法。 如果连接到GitHub存储库,仍可以链接到工作项,但必须使用#ABID语法,并且以前已设置 Azure Boards-GitHub 连接

Visual Studio Git

可以通过将 #ID 添加到提交消息中,将工作项链接到提交。 例如,提交消息“修复报告工具中的 bug #12”会在提交推送到Azure Repos时将工作项 12 链接到提交。

Screenshot of a work item linked to a commit in the 'Git Changes' window in Visual Studio 2019.

Visual Studio 团队资源管理器

可以通过团队资源管理器的“更改”视图中的“相关工作项”将工作项包含在提交中。

Screenshot of a work item linked to a commit in the Changes view of Team Explorer in Visual Studio 2019.

还可以通过将 #ID 添加到提交消息中,将工作项链接到提交。 例如,提交消息“修复报告工具中的 bug #12”会在提交推送到Azure Repos时将工作项 12 链接到提交。

推送提交更改

在编写代码时,Visual Studio 会自动跟踪代码更改。 对更改感到满意时,可以使用提交将其保存在 Git 中,然后将提交推送到Azure Repos

Visual Studio Git

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

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

  1. 若要将提交推送到Azure Repos,请选择向上键按钮。

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.

Visual Studio 团队资源管理器

  1. 通过选择“主页”按钮并选择“更改”打开团队资源管理器更改”视图。 或者,选择状态栏上的挂起更改图标 Visual Studio Pending Changes Status Bar icon

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

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

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

  1. 若要将一个或多个提交推送到Azure Repos,请选择“开始”,然后选择“同步”以在团队资源管理器中打开同步视图。 或者,选择状态栏上的未发布更改状态栏图标 (Visual Studio unpublished changes status bar icon

Screenshot of the Sync option in Team Explorer 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.

拉取更改

可以通过拉取其他人创建的提交,使本地分支与其远程分支保持同步。 在处理功能分支时,最好定期切换到 main 分支并拉取新提交,使其与远程 main 分支保持最新状态。

注意

可以在不同视图和菜单栏上的 Git 菜单中找到提取拉取链接。 这些链接都执行相同的操作-从远程存储库提取或拉取到本地存储库的当前分支。

Visual Studio Git

  1. “Git 更改 ”窗口中,可以使用向下箭头提取链接检查远程分支上的最新提交,然后选择 传出/传入 链接以打开 Git 存储库 窗口。 提取 不在本地分支中的远程提交,但不会将它们合并到本地分支中。 提取的提交显示在 Git 存储库窗口的“传入提交”部分中。 可以双击提取的提交以查看其文件更改。

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

  1. 选择 “拉取 ”将提取的远程提交合并到本地存储库中。 拉取 执行提取,然后将下载的提交合并到本地分支。

Visual Studio 团队资源管理器

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

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

  1. “同步 ”视图中,可以使用 Fetch 链接预览远程分支上的最新更改。 提取 不在本地分支中的远程提交,但不会合并它们。 提取的提交显示在同步视图的“传入提交”部分中。 可以双击提交以查看其文件更改。

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

  1. 选择 “拉取 ”将提取的远程提交合并到本地存储库中。 拉取 执行提取,然后将下载的提交合并到本地分支。

常见问题解答

问:为什么登录页面在 Web 门户和Visual Studio之间有所不同?

答:登录页取决于你使用的是 Microsoft 帐户还是具有Azure DevOps的工作帐户。 始终使用用于Azure DevOps的用户名和密码登录。

问:是否可以将 Git 命令提示符用于Visual Studio?

答:Visual Studio的团队资源管理器和 Git 命令行协同工作。 对任一工具中所做的更改将反映在另一个工具中。 请确保安装最新版本的 Git for Windows,其中包含有助于连接到 Azure DevOps Services/TFS 存储库的工具。

请参阅 Azure Repos Git 教程命令参考,了解从命令行使用 Git 的其他帮助。

后续步骤