Programing

아이콘 오버레이가 표시되지 않는 TortoiseGit

crosscheck 2020. 7. 12. 09:53
반응형

아이콘 오버레이가 표시되지 않는 TortoiseGit


나는 TortoiseGit거의 일년 내내 사용하고 있습니다. 어제 문제가 생길 때까지 아주 잘 작동했습니다. 한 시간 이상 Windows 탐색기가 충돌 ( "항목 검색"에 걸려 있음)했을 때 폴더를 삭제 한 후 시스템을 다시 시작했습니다.

그때부터 (그리고 묘사 된 사건이 ​​그와 관련이 있는지 확실 하지 않습니다 ) TortoiseGit은 탐색기에서 아이콘 오버레이 표시를 중단했습니다. 그러나이 동작은 여기에 질문을 게시 한 다른 사람들과는 다릅니다.

open file모든 프로그램 대화에서 아이콘은 여전히 ​​존재합니다 (!).

내가 시도한 것들의 목록은 다음과 같습니다.

  1. 다른 아이콘을 표시하도록 TortoiseGit 설정을 변경했습니다.
  2. TortoiseGit를 다시 설치하십시오 (설치 제거, 다시 시작, 설치, 다시 시작).
  3. 에서 "Tortoise"로 시작하는 모든 아이콘 오버레이를 삭제 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers한 다음 TortoiseGit를 제거하고 컴퓨터를 다시 시작한 후 TortoiseGit을 다시 설치했습니다.

편집하다:

컴퓨터에서 새 사용자를 만들려고했는데 새 사용자에게 아이콘 오버레이가 제대로 작동했습니다. 나는 지금 더 혼란스러워한다.

지금까지 아무것도 도움이되지 않았습니다. 어떤 아이디어?


나는 같은 문제가 있었고 포럼의 지시에 따라 작동하도록했습니다. 내가 한 것은 이것 (복사)입니다.

나는 해결책을 찾습니다 :) ""아래에 모든 거북이 키로 감싸기HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

on 1TortoiseNormal등 등등 ... 나는 Dropbox로 보았을 때 문제를 이해했으며 그것은 regedit ""에서 Dropbox에 부호 ( )가 있지만 거북이는 아닙니다. 그래서 표지판을 추가하고 explorer.exe를 닫고 좋았습니다. :)

그래서 내가 한 일은 키의 이름 1TortoiseNormal"1TortoiseNormal"으로 바꾸는 것이 었습니다. 큰 따옴표로 감싸는 것이 왜 다시 작동하는지 모르겠습니다.

원래 포럼은 사라졌지 만 주석 에는 좋은 요약 이 제공됩니다.


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입니다.


Windows 10 솔루션 단계;

  1. regedit를여십시오

경로 :

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

  1. 모든 SkyDrive / OneDrive 키를 제거 / 삭제하십시오. 키를 삭제하려고 시도하는 동안 오류가 발생하면 키를 하나씩 소유권을 갖고 사용자에게 모든 권한을 부여해야 할 수 있습니다.

  2. Ctrl + Shift + Esc를 누르고 "Windows 탐색기"를 다시 시작하십시오 (선택적으로 컴퓨터를 다시 시작하십시오)

  3. 모든 git / svn overlay 아이콘이 보입니다!


견과류를 먹기 전에 재부팅을 시도하십시오! 그것은 나를 위해 일했다.)


이 regedit addersses의 첫 번째 Tortoise 옵션에 하나의 공백을 추가하십시오 (또는 필요한 경우 더).

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

예를 들면 다음과 같습니다.

"1TortoiseNormal"

로 변경해야합니다.

" 1TortoiseNormal"

시스템 reboot아이콘이 제대로 표시되면


TortoiseSVN을 제거한 후 오늘도 동일한 문제가 발생했습니다. 나는 재부팅했지만 여전히 운이 없기 때문에 제어판, 프로그램 제거 및 TortoiseGit 항목에서 '복구'를 선택했는데 모든 것이 정상으로 돌아 왔습니다. 모든 Tortoise 앱 라인에 공유 레지스트리 키 또는 무언가가 있다고 생각합니다.


또한 TortoiseGIT 셸 아이콘이 갑자기 표시되지 않게 만들었습니다.이 문제를 정확히 기억하지 못했지만 이것을 발견하고 1TortioiseNormal을 "1TortioiseNormal"로 변경하는 레지스트리 항목을 시도했습니다. 아이콘 오버레이가 여전히 작동하지 않는 것이 무엇이든 상관없이 아마 좋은 일입니다.

"컴퓨터를 다시 시작하십시오"라는 대답이 너무 바빠서 "일부 서비스 프로세스를 다시 시작해야하지만 다시 찾을 수는 없습니다." 아냐

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.

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


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

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

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

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

  • 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!


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


The problem with the leading spaces is that every time you reboot, Dropbox adds another space to its registries, and will be always one step ahead of you.

So I've scheduled a python script found on this post (by Christoph Zwerschke) to execute every time the computer boots. You also have to restart the Explorer after that.

The .bat will look like:

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

And the python script:

#/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')

What is worked for me for Windows 10 is

  1. uninstalling TortoiseGit
  2. cleaning folders and register
  3. installing it once again
  4. rebooting the computer
  5. making random commit even not seeing the red icon

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

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

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

Remove 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]

Well, I suppose I missed the obvious step...

In TortoiseGit Settings > Icon Overlays:

Make sure to add your projects folder to the "Include Paths" box.

참고URL : https://stackoverflow.com/questions/25156238/tortoisegit-not-showing-icon-overlays

반응형