git TortoiseGit 不显示图标覆盖

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/25156238/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 02:18:38  来源:igfitidea点击:

TortoiseGit not showing icon overlays

gittortoisegit

提问by 5xum

I have been using TortoiseGitfor almost a full year now. It has been working very well for me until yesterday, when I encountered a problem. I was deleting a folder when Windows Explorer sort of crashed on me (it hung on "discovering items") for over an hour, then I restarted the system.

我已经使用TortoiseGit了将近一整年了。直到昨天,当我遇到问题时,它对我来说一直运行良好。当 Windows 资源管理器在我身上崩溃(它挂在“发现项目”上)一个多小时时,我正在删除一个文件夹,然后我重新启动了系统。

Since that time (and I am notsure if the incident described has anything to do with it), TortoiseGit has stopped showing icon overlays in explorer. The behaviour is, however, not like any of the others who posted questions here, because:

自那时以来,(而且我知道,如果描述的事件有什么关系呢),TortoiseGit已经停止显示Explorer图标覆盖。但是,这种行为与在此发布问题的其他任何人不同,因为:

In the open filedialogue of all programs, the icons still exist (!).

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

Here is a list of things I tried:

这是我尝试过的事情的列表:

  1. I changed TortoiseGit settings to show different icons.
  2. Reinstall TortoiseGit (uninstall, restart, install, restart).
  3. I deleted all icon overlays starting with "Tortoise" in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, then uninstalled TortoiseGit, restarted the computer and reinstalled TortoiseGit.
  1. 我更改了 TortoiseGit 设置以显示不同的图标。
  2. 重新安装 TortoiseGit(卸载、重启、安装、重启)。
  3. 我删除了中以“Tortoise”开头的所有图标覆盖HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers,然后卸载 TortoiseGit,重新启动计算机并重新安装 TortoiseGit。


Edit:

编辑:

I tried to create a new user on my computer, and the new user has icon overlays working just fine. I am now even more confused.

我试图在我的计算机上创建一个新用户,新用户的图标覆盖工作得很好。我现在更糊涂了。

Nothing helped so far. Any ideas?

到目前为止没有任何帮助。有任何想法吗?

采纳答案by Chi Chan

I had the same problem and I got it to work by following instructions from a forum. What I did was this (copied):

我遇到了同样的问题,我按照论坛的说明让它工作。我所做的是这个(复制):

I find solution :) Wrapping with ""all tortoise keys under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

on 1TortoiseNormaland etc... I understood the problem, seeing as Dropbox and it worked regedit there was the sign ("") to Dropbox but not tortoise. So I added the signs, close explorer.exe and hop it was good :)

我找到了解决方案:) 用下面的""所有乌龟钥匙 包裹HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

1TortoiseNormal等..我的理解这个问题,看到Dropbox和它的工作注册表编辑器有符号("")到Dropbox的,但不是乌龟。所以我添加了标志,关闭 explorer.exe 并跳它很好:)

So what I did was rename the key 1TortoiseNormalto "1TortoiseNormal"etc. I have no idea why wrapping it inside a double quote makes it work again.

所以我所做的是将密钥重命名1TortoiseNormal"1TortoiseNormal"etc. 我不知道为什么将它包装在双引号中会使其再次工作。

The original forum is gone, but a good summaryis supplied in the comments.

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

回答by Dzhuang

Windows will only allow up to 11 icon overlay identifiers, arranged in alphanumeric order - if there are more than 11, these icons will not be displayed.

Windows 最多只允许 11 个图标覆盖标识符,按字母数字顺序排列 - 如果超过 11 个,这些图标将不会显示。

You can run the following command in a DOS prompt:

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

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

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

Then open the file C:\icons.txt. Skip the first two lines, and if 1TortoiseNormaland the other *Tortoise*values are not in the top 11 values, their icon overlays will not be shown. The solution provided by @Chi Chanis just a simple way to make 1TortoiseNormalrank higher when ordered among all the overlays, you can also rename the values by adding space(s) before 1TortoiseNormal, i.e.,

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

" 1TortoiseNormal"

" 1TortoiseNormal"

to make them rank higher.

使他们排名更高。

update:for Windows 8, the limit of icon overlays is 15.

更新:对于 Windows 8,图标覆盖的限制为 15。

回答by replicantspy

Windows 10 Solution Steps;

Windows 10 解决方案步骤;

  1. Open regedit
  1. 打开注册表

Path :

小路 :

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

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

  1. Remove/delete all SkyDrive/OneDrive keys. You may need to take ownership of the keys one by one and give your user full control if you receive an error while trying to delete the keys.

  2. Press Ctrl+Shift+Esc and restart "Windows Explorer" (Optionally restart computer)

  3. All git/svn overlay icons are now visible !

  1. 移除/删除所有 SkyDrive/OneDrive 键。如果您在尝试删除密钥时收到错误消息,您可能需要一一获得密钥的所有权,并让您的用户完全控制。

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

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

回答by Jan Hettich

Before going nuts, just try rebooting! It worked for me ;)

在发疯之前,请尝试重新启动!它对我有用;)

回答by Amir Hossein Ghasemi

Just add one Space(or more if needed) to first Name of Tortoise options to this regedit addersses:

只需在此 regedit addersses 的第一个龟名选项中添加一个空格(或更多,如果需要):

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

for example:

例如:

"1TortoiseNormal"

Should change to:

应该改为:

" 1TortoiseNormal"

after a system rebooticons shows currectly.

系统reboot图标显示正确后。

回答by icc97

I had installed TortoiseSVN (1.9.5) and msysgit (2.11.0) first on my Windows 10 64-bit machine. TortoiseSVN icons displayed fine.

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

When I installed TortoiseGit (2.3.0.0) after these two the icons wouldn't display.

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

I checked HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersand all looked fine. The tortoise icons were in the top 10.

我检查了一下HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers,一切看起来都很好。乌龟图标排在前 10 名。

What I used to fix was raised in TortoiseGit issue #692 on GitLab:

我以前修复的问题是在 GitLab 上的 TortoiseGit 问题 #692 中提出的

  • Open regedit.exe
    • Go to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Add a new string value "Max Cached Icons" with value "2000"

closed/restarted explorer and icons display!

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

关闭/重新启动资源管理器和图标显示!

回答by Richard Edwards

I had this same problem today after uninstalling TortoiseSVN. I rebooted and still no luck so I just went into Control Panel, Uninstall a Program and on the TortoiseGit item I picked 'Repair'and everything is back to normal. I suspect that all of the Tortoise line of apps have some shared registry keys or something.

卸载 TortoiseSVN 后,我今天遇到了同样的问题。我重新启动但仍然没有运气,所以我只是进入控制面板,卸载程序,在 TortoiseGit 项目上我选择了“修复”,一切都恢复正常。我怀疑所有 Tortoise 系列应用程序都有一些共享的注册表项或其他东西。

回答by arudlang

I also had my TortoiseGIT shell icons quit displaying suddenly, I don't remember exactly what led up to it but I found this and tried the registry stuff changing 1TortioiseNormal to "1TortioiseNormal" and so on. That is probably a good thing to do no matter what but icon overlays were still not working.

我也让我的 TortoiseGIT shell 图标突然停止显示,我不记得到底是什么导致了它,但我发现了这一点并尝试将注册表中的内容将 1TortioiseNormal 更改为“1TortioiseNormal”等等。无论如何,这可能是一件好事,但图标覆盖仍然无法正常工作。

I am too busy for the blanket answer of "restart the computer" what that says to me is "some service process needs to be restarted but you'd never be able to find it so just restart." Nah.

我太忙了,无法给出“重新启动计算机”的全面回答,这对我说的是“某些服务进程需要重新启动,但您永远找不到它,因此只需重新启动。” 不。

I also use TortoiseSVN and those icon overlays were still working for me. I looked in my processes tab of task manager and saw I had something called TSVNCache.exe running. No sign of anything similar for git, so on a whim I went over to the applications tab and hit "New Task", entered TGITCache.exe and sure enough that process fired up. From there go back to processes, kill explorer.exe, then go back to applications -> New Task again and fire up explorer.exe.

我也使用 TortoiseSVN 并且那些图标覆盖仍然对我有用。我查看了任务管理器的进程选项卡,看到我正在运行一个名为 TSVNCache.exe 的东西。没有任何类似 git 的迹象,所以一时兴起,我转到应用程序选项卡并点击“新任务”,输入 TGITCache.exe 并确定该进程启动了。从那里返回进程,杀死 explorer.exe,然后返回应用程序 -> 再次新建任务并启动 explorer.exe。

This has worked for me twice now when my TortoiseGIT icon overlays have quit, so, maybe it will work for someone else.

现在当我的 TortoiseGIT 图标覆盖已经退出时,这对我有用两次,所以,也许它对其他人有用。

回答by Darien Pardinas

What worked for me was to uninstall Google Drive from my computer. Not sure why yet.

对我有用的是从我的计算机上卸载 Google Drive。还不知道为什么。

回答by bytecode77

I Agree with Chi Chan and I would like to add this as an complementary answer.

我同意 Chi Chan 的观点,我想将其添加为补充答案。

It's Dropbox Explorer icons. Here is a registry script to remove them. Save it somewhere, because they will come back!

它是 Dropbox Explorer 图标。这是删除它们的注册表脚本。把它保存在某个地方,因为他们会回来的!

Note, that the values change from time to time, too. Currently they have 3 spaces before the "DropboxExtXX", before they had only one.

请注意,这些值也会不时更改。目前他们在“DropboxExtXX”之前有 3 个空格,之前只有一个空格。

Remove Dropbox Explorer Icons.reg

删除 Dropbox Explorer Icons.reg

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]