我现在已经用TortoiseGit
差不多整整一年了。直到昨天我遇到问题时,它一直很好用。我正在删除一个文件夹,当时Windows资源管理器崩溃了(它挂在"发现项目")超过一个小时,然后我重新启动了系统。
从那时起(并且我不确定所描述的事件是否与它有关),TortoiseGit已停止在资源管理器中显示图标叠加层。但是,这种行为与其他在此处发布问题的人不同,因为:
在所有程序的
open file
对话框中,图标仍然存在(!)。
以下列出了我尝试过的事情:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
\ShellIconOverlayIdentifiers
中,然后卸载TortoiseGit,重新启动计算机并重新安装TortoiseGit。修改
我尝试在计算机上创建一个新用户,新用户的图标叠加工作正常。我现在更加困惑。
到目前为止没有任何帮助。有什么想法吗?
答案 0 :(得分:115)
我遇到了同样的问题,我按照论坛的说明开始工作。我做的是这个(复制):
我找到解决方案:) 在
下使用""
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
所有陆龟钥匙包裹1TortoiseNormal
等等的...... 我理解了这个问题,看到Dropbox并且它的工作原理是Dropbox的标志(
""
)而不是乌龟。 所以我添加了标志,关闭explorer.exe并跳转它很好:)
所以我所做的是将密钥1TortioiseNormal
重命名为"1TortioiseNormal"
等。我不知道为什么将它包装在双引号中会使其再次起作用。
原始论坛已消失,但评论中提供了a good summary。
答案 1 :(得分:85)
Windows最多只允许11个图标叠加标识符,以字母数字顺序排列 - 如果超过11个,则不会显示这些图标。
您可以在DOS提示符下运行以下命令:
regedit /e c:\icons.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
然后打开文件C:\icons.txt
。跳过前两行,如果1TortoiseNormal
和其他*Tortoise*
值不在前11个值中,则不会显示其图标叠加层。 @Chi Chan提供的解决方案只是在所有叠加层中排序后使1TortoiseNormal
排名更高的简单方法,您还可以通过在1TortoiseNormal
之前添加空格来重命名值,即,
" 1TortoiseNormal"
让他们排名更高。
对于Windows 8,更新:,图标叠加的限制为15。
答案 2 :(得分:34)
Windows 10解决方案步骤;
路径:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\ ShellIconOverlayIdentifiers
删除/删除所有SkyDrive / OneDrive密钥。如果在尝试删除密钥时收到错误,您可能需要逐个获取密钥的所有权并为用户提供完全控制权。
按Ctrl + Shift + Esc并重新启动“Windows资源管理器”(可选择重新启动计算机)
现在可以看到所有git / svn叠加图标!
答案 3 :(得分:21)
在坚持之前,请尝试重新启动!它对我有用;)
答案 4 :(得分:13)
只需将一个空格(或更多,如果需要)添加到此第一个地址名称加入此地址:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
例如:
"1TortoiseNormal"
应改为:
" 1TortoiseNormal"
系统reboot
图标显示后。
答案 5 :(得分:3)
我首先在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
,一切都很好看。乌龟的图标排在前10位。
我曾经在TortoiseGit issue #692 on GitLab中提出了我曾经修复过的问题:
- 打开
regedit.exe
- 转到
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
- 添加新的字符串值" Max Cached Icons"价值" 2000"
关闭/重新启动资源管理器和图标显示!
答案 6 :(得分:3)
我也让我的TortoiseGIT shell图标突然显示,我不记得究竟是什么导致了它,但我发现这并尝试将注册表内容改为1TortioiseNormal为“1TortioiseNormal”等等。无论如何,这可能是一件好事,但图标叠加仍然无法正常工作。
我太忙了,无法回答“重新启动计算机”,对我说的是“某些服务流程需要重新启动,但你永远无法找到它,所以只需重启”。罗。
我也使用TortoiseSVN,那些图标叠加仍在为我工作。我查看了任务管理器的进程选项卡,看到我有一个名为TSVNCache.exe的东西正在运行。没有任何类似git的迹象,所以我突然想到了应用程序选项卡并点击“新任务”,输入了TGITCache.exe并确定该进程已启动。从那里返回进程,杀死explorer.exe,然后返回应用程序 - >再次启动新任务并启动explorer.exe。
当我的TortoiseGIT图标叠加已经退出时,这对我有用了两次,所以,也许这对其他人有效。
答案 7 :(得分:3)
卸载TortoiseSVN后,我今天遇到了同样的问题。我重新启动但仍然没有运气所以我只是进入控制面板,卸载程序和TortoiseGit项目,我选择了“修复”,一切都恢复正常。我怀疑所有Tortoise应用程序都有一些共享注册表项或其他东西。
答案 8 :(得分:2)
对我有用的是从我的计算机上卸载Google云端硬盘。不知道为什么。
答案 9 :(得分:1)
领先空间的问题在于,每次重新启动时,Dropbox都会为其注册表添加另一个空间,并且总是领先于您。
所以我已安排在post(由Christoph Zwerschke)发现的python脚本,以便每次计算机启动时执行。此后,您还必须重新启动资源管理器。
.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')
答案 10 :(得分:1)
Windows 10对我有用的是
答案 11 :(得分:1)
我同意Chi Chan,我想补充一下作为补充答案。
这是Dropbox Explorer图标。这是一个删除它们的注册表脚本。把它保存在某处,因为它们会回来!
请注意,值也会不时变化。目前他们在“DropboxExtXX”之前有3个空格,之前他们只有一个。
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt01]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt02]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt03]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt04]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt05]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt06]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt07]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt08]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt09]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt10]
答案 12 :(得分:1)
好吧,我想我错过了明显的步骤...
在TortoiseGit设置>图标叠加中:
Make sure to add your projects folder to the "Include Paths" box.
答案 13 :(得分:1)
很久以前,我试图通过编辑注册表来解决图标覆盖问题:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
,但是每次更新OneDrive或Dropbox时,它们都会为其注册表添加更多空间。但是,问题解决了:
选择TortoiseGit设置>图标覆盖>(状态缓存)Shell Extended
目前,OneDrive和Dropbox在ShellIconOverlayIdentifiers列表的顶部,但是所有Tortoise图标覆盖均正确显示
答案 14 :(得分:0)
我注意到覆盖是由TortoiseSVN shell扩展管理的。可以使用nirsoft ShellEx View进行验证。当我禁用TortoiseSVN扩展时,覆盖图标消失。当我重新启用TortoiseSVN时,它们会重新读回(下面的屏幕截图中的蓝线)
在ShellEx视图中,选择Options > Filter By Extension Type
。在对话框中选择System
,然后选择OK
。然后,您应该使用TortoiseGit和TortoiseSVN扩展。确保所有TortoiseSVN条目均已启用。
我希望可能对其他任何人有用。
答案 15 :(得分:0)
转到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers”
在所有 Tortoise*** 文件夹前加上 5 个空格(空格键) - 您可能会发现 Tortoise1*** 到 Tortoise9*** 文件夹
关闭注册表窗口并重新启动您的电脑。
它对我有用,我希望它也适用于其他人。
答案 16 :(得分:0)
批处理文件:
REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers /F
TIMEOUT 1 > NUL
REG IMPORT "H:\GIT\Preferred-Shell-Icon-Overlay-Settings.reg"
reg 文件:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\!Tortoise8Ignored]
@="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\GoogleDriveSynced]
@="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\DropboxExt01]
@="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}"