Visual Studio中Pull及Sync Pull and Push图标异常禁用问题
VS 2022 Git Changes窗口Pull/Sync图标禁用问题排查与解决
问题场景
已将Visual Studio 2022更新至17.7.3版本,在VS内创建远程/本地git仓库并推送到Git。更新NPM包推送后,合并了Git上的Dependabot漏洞修复PR,此时远程仓库有更新需拉取。git status -sb确认本地落后于远程且已追踪远程分支,但VS的Git Changes窗口中Pull、Sync Pull and Push图标始终禁用,窗口显示仓库已处于最新状态。命令行执行git pull和git push可正常操作,修改Program.cs提交后图标仍未启用。当前为VS Angular模板项目,其他测试项目图标正常。
可能原因
- VS的Git状态缓存未及时刷新,与本地仓库实际状态不同步
- Angular模板项目自带的配置或第三方插件干扰了VS的Git状态检测
- VS 17.7.3版本存在针对特定项目类型的Git状态同步Bug
解决办法
强制刷新Git状态
- 关闭当前解决方案后重新打开,触发VS重新读取仓库状态
- 在Git Changes窗口点击右上角的刷新图标(↻),多次尝试刷新
- 打开命令面板(Ctrl+Shift+P),执行
Git: Fetch All命令手动拉取远程仓库最新状态
检查并重置Git配置
- 进入
工具 > 选项 > 源代码管理 > Git全局设置,确认远程仓库URL与本地.git/config中的配置一致 - 在命令面板执行
Git: Reset Settings,重启VS后重新关联远程仓库
清理VS缓存文件
关闭VS后,删除以下目录的缓存文件,再重启VS:
%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_xxxx\ComponentModelCache(xxxx为你的VS实例ID)%LOCALAPPDATA%\Microsoft\TeamFoundation\8.0\Cache
排查项目特定配置
- 打开项目根目录的
.git/config文件,确认当前分支的remote和merge配置正确,示例:[branch "main"] remote = origin merge = refs/heads/main - 暂时移除项目根目录下的自定义Git钩子文件(
.git/hooks目录下的文件),测试图标是否恢复正常
版本回退或更新
- 若上述方法无效,尝试回退到VS 2022 17.7.2版本,验证问题是否消失
- 检查VS官方更新日志,若有Git相关修复补丁,及时安装后续小版本更新
内容的提问来源于stack exchange,提问作者user1585204
相关产品推荐
相关产品推荐

