适用范围: yes Visual Studio no Visual Studio for Mac no Visual Studio Code

“Git 更改 ”窗口提供了一种无缝方式,可在编码时与 Git 交互,而无需切换代码。 但有时,专注于 Git 存储库更有意义。 例如,可能需要大致了解团队正在处理的内容,或者 比较两个提交 以调查 bug。

可以远程处理所选的 Git 提供程序,例如GitHub或Azure DevOps。

浏览本地分支和远程分支

若要开始,请在 “视图 ”菜单上选择 “Git 存储库 ”打开 “Git 存储库 ”窗口。 还可以通过在 “Git 更改 ”窗口和状态栏上选择 传出/传入 链接来访问 Git 存储库 窗口。

Git 存储库 窗口包含三个主要部分,如前面的屏幕截图中所示:

  • 分支 :Git 使用户能够通过分支执行多任务并试验其代码。 如果同时处理多个功能,或者想要浏览想法而不影响工作代码,则分支可能会有所帮助。

  • Graph :本部分可视化分支的状态。 它有三个子节:

  • 传入 显示团队已参与的传入提交。
  • 传出 会显示尚未推送的本地提交。
  • 本地历史记录 显示本地存储库跟踪的其余提交。
  • 提交 :选择 Graph 部分中的任何提交将打开其详细信息。 可以通过选择提交所引入的更改来检查更改,这显示了差异。 例如,前面的屏幕截图显示一个提交引入 Files.csproj 文件的更改。

    Alt+向上键或 Alt+向下键键盘快捷方式允许在这些部分之间跳转。

    可以浏览任何本地或远程分支,而无需切换分支。 找到要关注的提交时,请选择“ 在新选项卡中打开” 按钮以打开其他选项卡上的提交。

    若要使用 Visual Studio 将当前签出分支与其他分支进行比较,可以使用状态栏中托管的分支选取器和 Git 更改工具窗口来选择要与之比较的任何本地或远程分支。 右键单击要面向的分支,然后选择“ 与 Current Branch 进行比较 ”。 或者,可以使用 Git 存储库窗口中的分支列表来访问相同的命令。

    选择 “与 Current Branch 的比较 ”将打开比较分支体验,你可以在其中导航 “更改 ”列表并选择要比较的文件。

    如果更喜欢内联差异,可以使用差异配置选项齿轮并切换到内联差异视图。

    签出提交可以通过多种方式受益。 例如,它允许返回到存储库历史记录中的上一个点,可以在其中运行或测试代码。 如果想要查看远程分支 (同事分支的代码(例如) )也很有用。 这样,如果不打算参与本地分支,则无需创建本地分支。 在这种情况下,只需查看要查看的远程分支的提示。

    若要在Visual Studio签出以前的提交,请打开 Git 存储库 窗口,右键单击要返回的提交并选择 签出 (分离) 。 Visual Studio显示一个确认对话框,说明通过签出提交,你将处于分离的 HEAD 状态。 这意味着存储库的 HEAD 将直接指向提交而不是分支。

    现在,你处于分离的头状态,可以随意运行和测试代码,甚至浏览和提交更改。 完成浏览并想要返回到分支后,可以通过签出现有分支来选择放弃更改,也可以选择先 创建新分支 来保留更改。

    在分离的头状态创建的提交与任何分支无关,在签出分支后,Git 可能会垃圾回收。 这就是为什么保留更改的原因,建议在签出分支之前创建新分支。 例如,如果我们签出 Main 而不创建新的分支,则提交 C5 和 C6 将被垃圾回收。 Detached head commits illustration 若要详细了解分离的头状态视图,请参阅以下 Git 文档: 分离头

    如果想要快速查看拉取请求并评估最新更新,请查看远程分支的提示可能会很有帮助。 若要在Visual Studio中执行此操作,请先确保从远程存储库提取和获取最新更新。 然后右键单击要查看的远程分支,然后选择 “签出提示提交 ”。

    若要继续你的旅程,请参阅 在 Visual Studio 中管理 Git 存储库

  • Visual Studio 中的 Git 体验
  • Visual Studio和GitHub:更好地在一起
  •