TortoiseGit不显示图标叠加
我已经使用了TortoiseGit
几乎整整一年了。 直到昨天,我遇到了一个问题,一直工作得很好。 当Windows资源pipe理器崩溃了一个多小时,我正在删除一个文件夹(它挂在“发现项目”),然后我重新启动系统。
从那时起(我不确定所描述的事件是否与它有关),TortoiseGit已经停止在浏览器中显示图标叠加层。 但是,这种行为不像其他人在这里发布的问题,因为:
在所有程序的
open file
对话框中,图标仍然存在(!)。
以下是我尝试的一些列表:
- 我改变了TortoiseGit设置来显示不同的图标。
- 重新安装TortoiseGit(卸载,重新启动,安装,重新启动)。
- 我删除了从
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步骤;
- 打开regedit
path:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\ ShellIconOverlayIdentifiers
-
删除/删除所有的SkyDrive / OneDrive键。 如果您在尝试删除密钥时收到错误,则可能需要逐个获取密钥的所有权,并授予用户完全控制权。
-
按下Ctrl + Shift + Esc并重新启动“Windows资源pipe理器”(可select重新启动计算机)
-
所有的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工作是
- 卸载TortoiseGit
- 清理文件夹和注册
- 再次安装它
- 重新启动计算机
- 即使没有看到红色的图标也会随机提交