如何在Windows shell中恢复指示git状态的图标?

时间:2017-01-29 08:17:55

标签: git tortoisegit

在Windows资源管理器中,存储库的绿色图标图标是最新的,红色图标表示不再显示的图标。

如何将它们带回来?

请参阅附图。对于例如我在名为Temp。

的存储库中有一些未跟踪的文件

enter image description here

但是,没有一个文件夹具有显示git存储库状态的绿色或红色图标。

enter image description here

他们过去曾经在那里。几个星期前他们突然失踪了。

我使用的是64位Windows 7 Home Premium。

2 个答案:

答案 0 :(得分:4)

@ magicandre1981在对此问题的评论中提供了解决方法。我试图解释这个解决方案。

看起来像Tortoise Git,Dropbox,Google Drive等在Windows资源管理器文件和文件夹前面显示不同图标的应用程序通过在Windows绘制的常规图标上创建叠加层来实现。显然,应用程序会注册这些叠加层,并且在完成文件系统对象的基本绘制后,Windows会重绘每个叠加层。

但是,Windows会对其承担的叠加层数施加限制。任意数量的应用程序都可以在Windows上注册任意数量的叠加层。但Windows只会选择注册的前15个叠加层并重新绘制它们。其余的将被忽略。

Windows注册表维护已注册的叠加层的顺序和数量。具体来说,键 HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellIconOverlayIdentifiers 具有此列表,如下图所示。

enter image description here

也可以在this web page上找到对此的解释。

可以看出,Dropbox和Google Drive已经注册了超过15个叠加层,这就是为什么Windows永远不会有机会在我的机器上尊重Tortoise Git注册的叠加层。

我卸载了Dropbox和Google云端硬盘,因为我没有太多使用他们的同步功能。

enter image description here

我没有看到任何变化,所以我重新启动了我的机器。我仍然没有看到任何变化,但在重新启动我的机器大约30分钟后,图标恢复正常,即我开始看到我的存储库的Tortoise git状态就好了。

enter image description here

答案 1 :(得分:0)

我认为问题与Windows中的路径有关。如果将克隆的存储库放在一个知名的目录(路径中的目录)中,则会显示绿色的复选标记。这就是我能够解决此问题的方式。但是问题又回来了。我们最终重新安装了TortoiseGit