TortoiseGit不显示图标叠加

我已经使用了TortoiseGit几乎整整一年了。 直到昨天,我遇到了一个问题,一直工作得很好。 当Windows资源pipe理器崩溃了一个多小时,我正在删除一个文件夹(它挂在“发现项目”),然后我重新启动系统。

从那时起(我不确定所描述的事件是否与它有关),TortoiseGit已经停止在浏览器中显示图标叠加层。 但是,这种行为不像其他人在这里发布的问题,因为:

在所有程序的open file对话框中,图标仍然存在(!)。

以下是我尝试的一些列表:

  1. 我改变了TortoiseGit设置来显示不同的图标。
  2. 重新安装TortoiseGit(卸载,重新启动,安装,重新启动)。
  3. 我删除了从HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers “Tortoise”开始的所有图标叠加,然后卸载TortoiseGit,重新启动计算机并重新安装TortoiseGit。

编辑:

我试图在我的电脑上创build一个新用户,新用户的图标叠加工作正常。 我现在更加困惑。

没有什么帮助,迄今。 有任何想法吗?

我遇到了同样的问题,通过遵循论坛的指示来解决问题。 我所做的是(复制):

我find解决办法:)用""所有乌龟键在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

1TortoiseNormal等…我明白这个问题,看作为Dropbox和它工作注册有Dropbox的符号( "" ),而不是乌龟。 所以我添加了标志,closuresexplorer.exe和跳它是不错的:)

所以我所做的就是将关键字1TortioiseNormal重命名为"1TortioiseNormal"等等。我不知道为什么把它封装在一个双引号中,使它重新工作。

原来的论坛不见了,但是在评论中提供了一个很好的总结 。

Windows将只允许多达11个图标重叠标识符,以字母数字顺序排列 – 如果超过11个,这些图标将不会显示。

您可以在DOS提示符下运行以下命令:

regedit /ec:\icons.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

然后打开文件C:\icons.txt 。 跳过前两行,如果1TortoiseNormal和其他*Tortoise*值不在前11个值中,则它们的图标叠加层将不会显示。 @Chi Chan提供的解决scheme只是一种简单的方法,使得在所有叠加层中sorting时, 1TortoiseNormal排名更高,您还可以在1TortoiseNormal之前添加空间来重命名这些值,即,

" 1TortoiseNormal"

使他们排名更高。

更新:对于Windows 8,图标叠加的限制是15。

Windows 10解决scheme步骤;

  1. 打开regedit

path:

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\ ShellIconOverlayIdentifiers

  1. 删除/删除所有的SkyDrive / OneDrive键。 如果您在尝试删除密钥时收到错误,则可能需要逐个获取密钥的所有权,并授予用户完全控制权。

  2. 按下Ctrl + Shift + Esc并重新启动“Windows资源pipe理器”(可select重新启动计算机)

  3. 所有的git / svn覆盖图标现在可见!

在发疯之前,请尝试重新启动! 它为我工作;)

只要将空格添加到这个registry编辑器的名字:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 

例如:

 "1TortoiseNormal" 

应改为:

 " 1TortoiseNormal" 

系统reboot图标显示正确。

卸载TortoiseSVN之后,我今天遇到了同样的问题。 我重新启动,仍然没有运气,所以我刚进入控制面板,卸载程序和TortoiseGit项目我select“修复” ,一切恢复正常。 我怀疑所有的龟甲线应用程序都有一些共享的registry键或什么的。

我也有我的TortoiseGIT壳图标突然显示退出显示,我不记得究竟是什么导致了,但我发现这一点,并尝试registry的东西改变1TortioiseNormal“1TortioiseNormal”等。 这可能是一件好事,不pipe怎么样,但图标叠加仍然无法正常工作。

对于“重新启动计算机”的一揽子答案,我太忙了,对我说的是“某些服务进程需要重新启动,但是你永远无法find它,所以只需重新启动”。 罗。

我也使用TortoiseSVN和那些图标叠加仍然为我工作。 我看着我的任务pipe理器的进程选项卡,看到我有东西叫TSVNCache.exe运行。 没有任何类似的git的迹象,所以一时兴起,我去了应用程序选项卡,并点击“新任务”,进入TGITCache.exe,并确信足够的进程开火了。 从那里回到进程,杀死explorer.exe,然后回到应用程序 – >新任务再次启动explorer.exe。

当我的TortoiseGIT图标叠加已经退出时,这已经为我工作了两次,所以,也许它会适用于其他人。

我在Windows 10 64位机器上首先安装了TortoiseSVN(1.9.5)和msysgit(2.11.0)。 TortoiseSVN图标显示正常。

当我安装TortoiseGit(2.3.0.0)后,这两个图标不会显示。

我检查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers和一切看起来不错。 乌龟图标进入前十。

我曾经在GitLab上的TortoiseGit问题#692中提到过:

我运行Windows 7专业版,我:

  • 安装最新版本的msysgit(1.7.7.1)
  • 安装了最新的64位版本的TortoiseGit(1.7.5.0)
  • 创build一个存储库,添加文件,承诺和没有图标。

我只需要从评论9的dev.unle@gmail.com做第1步:

  • 打开regedit.exe
    • 转到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • 添加值为“2000”的新string值“Max Cached Icons”

closures/重新启动资源pipe理器和图标显示!

我的工作是从我的电脑卸载Google云端硬盘。 不知道为什么。

领先空间的问题在于,每当您重新启动时,Dropbox都会为registry添加另一个空间,并且始终领先一步。

所以我已经安排了一个在这篇文章 (由克里斯托弗Zwerschke)发现的Python脚本执行每一次电脑启动。 之后你也必须重新启动资源pipe理器。

.bat将如下所示:

 python iconOverlayFixer.py taskkill /f /im explorer.exe start explorer.exe 

和python脚本:

 #/usr/bin/python3 import os import winreg as reg # names of all overlay icons that shall be boosted: boost = """ Tortoise1Normal Tortoise2Modified Tortoise3Conflict Tortoise4Locked Tortoise5ReadOnly Tortoise6Deleted Tortoise7Added Tortoise8Ignored Tortoise9Unversioned """ boost = set(boost.split()) with reg.OpenKey(reg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows\CurrentVersion' r'\Explorer\ShellIconOverlayIdentifiers') as base: names = set() renames = [] i = 0 while True: try: name = reg.EnumKey(base, i) except OSError: break core = name.strip() if core in names: print('Delete', repr(core)) reg.DeleteKey(base, name) else: names.add(core) if core in boost: core = ' ' + core if core != name: renames.append((name, core)) i += 1 if renames: for old_name, new_name in renames: print('Rename', repr(old_name), 'to', repr(new_name)) value = reg.QueryValue(base, old_name) reg.CreateKey(base, new_name) reg.SetValue(base, new_name, reg.REG_SZ, value) reg.DeleteKey(base, old_name) else: print('Nothing to rename') 

什么是为我的Windows 10工作是

  1. 卸载TortoiseGit
  2. 清理文件夹和注册
  3. 再次安装它
  4. 重新启动计算机
  5. 即使没有看到红色的图标也会随机提交