与 Azure Repos 和 Visual Studio 共享代码

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

Visual Studio 2019 | Visual Studio 2022

通过在 Azure Repos Git 存储库中托管代码来与他人共享 Visual Studio 解决方案。 可使用 Visual Studio 来管理 Azure Repos Git 存储库或 GitHub 存储库。 本文提供了下列任务的过程:

  • 将项目或解决方案添加到本地 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 项目的成员,具有基本访问级别或更高级别。 如果你不是项目成员,请添加为成员

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

有关权限和访问权限的详细信息,请参阅默认 Git 存储库和分支权限关于访问级别

注意

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

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

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

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

    Visual Studio 2022 解决方案资源管理器上下文菜单中“创建 Git 存储库”选项的屏幕截图。

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

    Visual Studio 2022 的菜单栏中 Git 菜单上的“创建 Git 存储库”选项的屏幕截图。

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

    Visual Studio 2022 中“创建 Git 存储库”窗口的屏幕截图,选中了“仅限本地”选项。

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

Windows 文件资源管理器中 Git 文件夹、Git 忽略文件和 Git 属性文件的屏幕截图。

发布你的代码

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

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

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

    Visual Studio 2022 解决方案资源管理器上下文菜单中“推送到 Git 服务”选项的屏幕截图。

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

    Visual Studio 2022 上下文菜单中“推送到 Git 服务”选项的屏幕截图。

  2. 在“创建 Git 存储库”对话框中,选择“GitHub”。 在“创建新的 GitHub 存储库”下输入任何必需值。 然后选择“推送”。

    Visual Studio 2022“创建 Git 存储库”对话框的屏幕截图。

    可以通过转到 GitHub 并在帐户中搜索存储库名称来验证是否已创建存储库。

评审提交更改

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

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

    Visual Studio 的屏幕截图。

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

    Visual Studio“Git 存储库”窗口中提交的“查看提交详细信息”菜单选项的屏幕截图。

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

    Visual Studio“提交”窗格中“与上一个版本比较”选项的屏幕截图。

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

注意

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

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

Visual Studio 的“Git 更改”窗口中链接到提交的工作项的屏幕截图。

推送提交更改

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

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

    Visual Studio 的“Git 更改”窗口中“全部提交”按钮的屏幕截图。

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

    Visual Studio 的“Git 更改”窗口中向上键按钮的屏幕截图。

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

    Visual Studio 的“Git 更改”窗口中的“传出/传入”链接和“Git 存储库”窗口中的“推送”链接的屏幕截图。

    或者,可以从菜单栏中选择“Git”>“推送”。

    Visual Studio 中“Git”菜单中的“推送”选项的屏幕截图。

拉取更改

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

注意

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

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

    Visual Studio“Git 更改”窗口中“提取”、“拉取”、“推送”和“同步”按钮的屏幕截图。

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

常见问题

问:为什么 Web 门户和 Visual Studio 的登录页不相同?

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

问:是否可以配合使用 Git 命令提示符与 Visual Studio?

答:Visual Studio 的团队资源管理器和 Git 命令行可以很好地协同工作。 在任一工具中对存储库进行的更改都会反映在另一个工具中。 请确保安装最新版本的适用于 Windows 的 Git,其中包含可帮助连接到 Azure DevOps Services/TFS 存储库的工具。

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

后续步骤