与多个存储库协作

作为 开发人员社区中要求最高的功能之一,我们从 版本 17.4 开始,向 Visual Studio 2022 添加了多存储库支持。

现在,可以在 Visual Studio 中一次拥有最多 25 个活动的 Git 存储库。 多存储库支持意味着您可以使用跨越多个存储库的解决方案,并同时在多个存储库中应用 Git 操作。 例如,在大型 Web 项目中,可能需要不同的存储库来管理前端、API、数据库、文档以及各种库和依赖项上完成的工作。 在多存储库支持之前,可能需要打开多个 Visual Studio 实例才能在存储库之间工作。 从 版本 17.4 开始,可以使用 Visual Studio 的一个实例管理、查看和调试它们。

注释

若要直观了解多存储库支持,请观看 YouTube 上的 在 Visual Studio 中使用多个 Git 存储库 视频。

如果有多个 GitHub 帐户,可以轻松在它们之间切换。 请参阅 将 GitHub 帐户添加到密钥链。 使用其他帐户登录时,可能有权访问不同的存储库。 Visual Studio 自动更新 git 配置来跟踪每个存储库使用的帐户,因此在工作时无需担心。

分支管理和跟踪更改

多存储库支持扩展了 Git 更改 窗口和 Git 存储库 窗口的功能。 可以以与管理单个仓库相同的方式管理多仓库情况。

Visual Studio 中“新建分支”按钮的屏幕截图。

可以使用扩展分支创建对话框一次跨多个存储库创建分支。

Visual Studio 中“创建新分支”对话框的屏幕截图。

然后,在进行更改时,Git 更改窗口会跟踪按存储库分隔的工作。 你可以像平常一样进行暂存和提交。

用于跟踪工作更改的Git更改窗口的屏幕截图。

可以使用状态栏中的分支选取器和 “Git 更改 ”工具窗口切换分支。 只需选择您想要签出的分支。此外,还可以通过右键单击分支以打开上下文菜单来执行内部循环分支操作,例如合并、变基、重命名、删除和比较分支。

Git 更改工具窗口中分支选取器功能的屏幕截图。

还可以在 Git 存储库 窗口中执行更高级的存储库和分支管理作。

Git 存储库工具窗口中分支选取器功能的屏幕截图。

网络操作

准备好提交更改后,网络操作对话框功能可以轻松指定推送到的确切分支,并调整推送顺序。 通过同一个对话框,您可以更好地控制其他网络操作,如获取和拉取

显示网络操作对话框中推送操作的屏幕截图。

存储库设置

可以使用 “Git 存储库设置” 页为每个存储库指定选项。 例如,可以指定是否在提取期间修剪远程分支。

Visual Studio 中 Git 存储库设置选项的屏幕截图。

从解决方案或文件夹激活多个存储库

可以从解决方案或文件夹激活多个存储库。

使用解决方案

下面介绍如何创建包含多个存储库的解决方案:

  1. 打开已初始化存储库的现有解决方案之一。

  2. 右键单击 解决方案资源管理器中的解决方案,然后选择“ 添加>现有项目”。

  3. 对于已经初始化了存储库的另一个项目,选择 .csproj 文件。

    添加项目后,Visual Studio 将检测并激活第二个存储库。 然后,可以根据需要调整项目引用。

如果在已有的解决方案中创建一个新项目,而该解决方案中有其他项目已经包含本地或远程存储库,那么必须先使用 Git git init 初始化该新项目,然后它才能在解决方案中作为一个附加的存储库显示出来。

使用文件夹

如果要使用的存储库彼此独立,并且不需要是同一解决方案的一部分,则可能需要使用文件夹来打开它们。

为此,可以将本地存储库目录放置在同一父文件夹中,然后使用 Visual Studio 启动页中的 “打开本地文件夹 ”选项打开父文件夹。 Visual Studio 会检测并激活每个存储库,然后跟踪存储库的更改(如以下屏幕截图所示)。

显示如何从 Visual Studio 中的文件夹中激活多个存储库的屏幕截图。

想要详细了解如何在 Visual Studio 2022 中开发进一步的 Git 功能,或与我们分享有关多存储库功能的反馈? 请参阅 多存储库支持发布的 博客文章中的“借助你的反馈进行构建”、“接下来的计划”和“告诉我们你的想法”部分。

接下来,若要继续您的存储库管理过程,请参阅 在 Visual Studio 中解决合并冲突