You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022本地Git提交未在历史记录中显示如何解决

Visual Studio 2022 本地Git提交后提交历史不显示新提交

我当前使用Visual Studio 2022完成了一次本地Git提交:
本地提交成功截图

但打开提交历史面板时,找不到这次刚完成的提交:
提交历史缺失截图

从VS2019升级到2022之前这个功能一直正常工作。

2022年6月7日更新

我用Git Gui检查对应仓库文件夹和VS解决方案,所有提交记录都能正常完整展示,确认提交本身没有丢失,问题出在Visual Studio的提交历史显示模块。

当前VS环境信息

  • 基础版本:Microsoft Visual Studio Professional 2022 (2) 17.2.3,完整版本号VisualStudio.17.Release/17.2.3+32526.322
  • 运行环境:Microsoft .NET Framework 4.8.04161
  • 授权版本:Professional
  • 已安装组件:
    • Visual C++ 2022 00483-10700-25814-AA515
    • .NET Core Debugging with WSL 1.0
    • ADL Tools Service Provider 1.0(包含Data Lake工具所需服务)
    • ASA Service Provider 1.0
    • ASP.NET and Web Tools 2019 17.2.392.13739
    • Azure App Service Tools v3.0.0 17.2.392.13739
    • Azure Data Lake Tools for Visual Studio 2.6.5000.0
    • Azure Functions and Web Jobs Tools 17.2.392.13739
    • Azure Stream Analytics Tools for Visual Studio 2.6.5000.0
    • C# Tools 4.2.0-4.22252.24+47cdc16a21bbb8a4aadfb666b011e2059e1be5d2(IDE内置C#组件,会根据项目类型和配置使用对应版本编译器)
    • Common Azure Tools 1.10(为Azure移动服务及其他Azure工具提供通用服务支持)
    • Extensibility Message Bus 1.2.6 (master@34d6af2)(为VS扩展间松耦合通信提供基于消息的MEF通用服务)
    • Microsoft Azure Hive Query Language Service 2.6.5000.0
    • Microsoft Azure Stream Analytics Language Service 2.6.5000.0
    • Microsoft JVM Debugger 1.0(支持VS调试器连接兼容JDWP协议的Java虚拟机)
    • Mono Debugging for Visual Studio 17.2.20 (482eb2a)(支持在VS中调试Mono进程)
    • NuGet Package Manager 6.2.0(VS内置NuGet包管理器)
    • Office Developer Tools for Visual Studio 17.0.32314.00
    • Razor (ASP.NET Core) 17.0.0.2218101+885a343b00bcab620a90c1550c37dafd730ce984(提供ASP.NET Core Razor语言服务支持)
    • SQL Server Data Tools 17.0.62204.01010
    • ToolWindowHostedEditor 1.0(支持在工具窗口中托管JSON编辑器)
    • TypeScript Tools 17.0.10418.2001
    • Visual Basic Tools 4.2.0-4.22252.24+47cdc16a21bbb8a4aadfb666b011e2059e1be5d2(IDE内置VB组件,会根据项目类型和配置使用对应版本编译器)
    • Visual F# Tools 17.1.0-beta.22253.3+058e7a7e597a02c129f38742f250a4b212da9ee3
    • Visual Studio IntelliCode 2.2(VS AI辅助开发功能)
    • VisualStudio.DeviceLog 1.0
    • VisualStudio.Mac 1.0
    • VSPackage Extension 1.0
    • Workflow Manager Tools 1.0(包含Workflow Manager所需的VS集成组件)
    • Xamarin 17.2.0.175 (d17-2@e4ffdc0)(支持Xamarin.iOS、Xamarin.Android开发)
    • Xamarin Designer 17.2.0.244 (remotes/origin/d17-2@197e1a0b7)(提供Xamarin Designer设计器支持)
    • Xamarin Templates 17.2.15 (2e3b60e)(提供Xamarin、Xamarin.Forms跨平台应用开发模板)
    • Xamarin.Android SDK 12.3.0.3 (d17-2/bbba5a2),包含依赖:
      • Mono: adf1bc4
      • Java.Interop: xamarin/java.interop/d17-2@9760f0a9
      • ProGuard: Guardsquare/proguard/v7.0.1@912d149
      • SQLite: xamarin/sqlite/3.38.2@7b1e016
      • Xamarin.Android Tools: xamarin/xamarin-android-tools/d17-2@fc3c2ac
    • Xamarin.iOS and Xamarin.Mac SDK 15.10.0.1 (568bdb24e)(提供Xamarin.iOS、Xamarin.Mac参考程序集与MSBuild支持)

解决方案

这个问题是Visual Studio 2022 17.2.x版本的已知Bug,根源是VS内置Git模块的本地缓存损坏,提交本身已经正常写入仓库,只是VS的历史面板读缓存时漏读了新记录,按以下步骤操作即可修复:

  • 先关闭所有打开的Visual Studio窗口,任务管理器里残留的devenv.exe进程也一并结束
  • 打开项目所在的Git仓库根文件夹,开启文件管理器的「显示隐藏的项目」选项,进入.git目录,删除里面的vs-merge-base文件夹和ms-persist.xml缓存文件
  • 用任意命令行工具(CMD、PowerShell、Git Bash均可)进入仓库根目录,执行git fsck --full校验仓库完整性,确认没有Git对象损坏
  • 重新用VS打开项目,切换到Git更改面板点击顶部的刷新按钮,等待Git模块重新加载完索引,再打开提交历史就能看到缺失的新提交
  • 如果上述操作无效,打开VS的「工具→选项→源代码管理→Git全局设置」,找到「清除Git缓存」按钮点击后重启VS即可恢复正常

如果不想手动清理缓存,直接将VS升级到17.3及以上版本即可,微软已经在17.3版本中正式修复了这个提交历史漏显的问题。


内容的提问来源于stack exchange,提问作者Hong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 10:57:54