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


133

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

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

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

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

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

편집하다:

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

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


TortoiseSVN이 설치되어 있습니까?
mozgow

@mozgow 아니오, TortoiseGit
5xum

5
나에게도 같은 일이 일어났다. 내 컴퓨터에 "Dropbox"를 설치했기 때문에 발생했습니다. Dropbox는 IconOverlays를 사용하며 TortoiseGit보다 목록에서 순위가 ​​높습니다. 그리고 당신은 15를 가질 수 있기 때문에, 당신은 그런 이유로 그들을 보지 못할 수도 있습니다. 광산은 19-28에서 목록에서 시작하므로 그들을 보지 못한 이유가 있습니다. 아래 Dzhuang의 제안을 사용하여 목록에서 오버레이의 순위를 확인하십시오.
차드


@MrTux 저는 2014 년 8 월 6 일 질문이 2017 년 1 월 11 일 (즉, 2 년이 지난 ) 질문의 복제본으로 간주되는 방법을 알고 궁금합니다 .
5xum 2019

답변:


130

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

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

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

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

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


33
아마 정렬 문제 일 것입니다. 큰 따옴표 문자는 첫 번째 인쇄 가능한 문자 중 하나이므로 "DropboxExt1"은 1TortoiseNormal 앞에오고 "1TortoiseNormal"은 "DropboxExt1"앞에옵니다. Dropbox의 키에서 큰 따옴표를 제거하려고 시도했지만 효과가있었습니다.
user34814

5
Skype 항목에서 무언가를 배웠습니다. ""(큰 따옴표)로 묶는 대신 항목 시작 부분에 공백을 추가하십시오. 따라서 항목은 <space-char> 1TortoiseNormal 등이됩니다 ... 마침내 정렬 문제입니다 :).
Pratham

5
dropbox를 설치 한 후에도 같은 문제가 발생했습니다. 이 블로그에서 이유 / 해결 방법을 찾았지만 거북이 키의 이름을 바꾼 후에는 목록의 맨 위에 의존하지 않는 것으로 나타났습니다 .. 보관 용 키에 앞면에 공백이 있음을 깨닫는 데 약간의 시간이 걸렸습니다. .. 나는 등 <공간> 1TortoiseNormal, 블로그에 거북이들 이름이 변경 있도록 : blog.garethjmsaunders.co.uk/2015/03/22/...
user1420372을

10
@CodyStott 그것은 MS가 이제 똑같이하고있는 것으로 밝혀졌습니다. OneDrive 아이콘은 공백으로 시작합니다 ... 모든 회사가이 트릭을 알아 낸 후 10 년 후, 모든 핵심 이름은 수십 개의 공백으로 시작합니다 ... : p
Stijn de Witt

30
업데이트 : 드롭 박스는 이제 추가 3 앞에 공백을 ... MS가 걸릴 참고하시기 바랍니다 (원 드라이브는이 트릭을 사용으로 잘 이미 한) 및 조치를 취할 . 이것은 완전히 짜증납니다. 이 11/15 아이콘 최대 값은 어떻게 되나요? 2017 년?!? 나는 또 다른 UI 점검이 필요하지 않습니다 ... 20 년 안에 고치기 위해서는 이와 같은 것들이 필요합니다!
Stijn de Witt

102

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


35
LOL. 방금 Windows 10으로 업그레이드했는데 TortoiseGit 아이콘이 없어서 검색하고이 스레드를 찾았습니다. OneDrive 아이콘이 기본적으로 공백으로 시작하기 때문에 Microsoft도이 스레드를 읽었을 것입니다. Windows 설정 내에서 아이콘 주석의 순서 / 우선 순위를 구성 할 수있는 화면을 만드는 대신 Microsoft가 어리석은 행동을하는 것입니다.
Stijn de Witt

20
@StijndeWitt 구글 드라이브와 TortoiseSVN / Git은 이제 그 수치를 높이고 2 칸을 추가 한 것으로 보입니다 . 우리는 ... 이제 우주 경쟁에서 공식적으로있어
icc97

15
@ icc97 LOL @ '우주 경주'. 그러나 보관 용은 한 발 앞서이 아마추어입니다 ... 그들은 추가 3 개 공간 : [....\ DropboxExt01](편집 : SO 1로 축소됩니다 것 같다 ...)
스테인 드 위트

8
노트!! 아이콘이 표시되도록 Windows 탐색기를 다시 시작하십시오. Ctrl + Shift + Esc를 누르고 "Windows 탐색기"를 다시 시작하십시오 (선택적으로 컴퓨터를 다시 시작하십시오)
PhillipPDX

7
방금 위에서도 언급했지만 여기에 모든 큰 클라우드 공급자 (onedrive, dropbox, google drive)가 동적으로 목록을 읽었으며 자동으로 전쟁을 승리하기 위해 공백을 수정하고 앞뒤로 옮길 것입니다 .... 업데이트하고 동일하게 수행합니다. 나의 것은 이제 문자 그대로 최소한 5 개의 선행 공간을 모두 가지고있다!! 또한 Vista 이상에서 15입니다.
Collin Chaffin

40

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 아이콘이 보입니다!


이것은 나를 위해 작동합니다. Windows 탐색기에서 허용되는 아이콘 오버레이 수에 제한이있는 것 같습니다.
Yodacheese

6
어떤 이유로 든 OneDrive 키를 삭제할 수 없습니다. 방금 Tortoise 키의 시작 부분에 세 개의 공백을 추가하고 재부팅 한 다음 다시 작동했습니다.
NickH

1
OneDrive는 다음에 다시 로그인 할 때 키를 다시 넣습니다.
Mike Lowery

2
기존 키를 삭제하는 대신 모든 Tortoise 키 앞에 두 개 이상의 공백을 추가 할 수 있습니다 . 같은 효과가 있습니다-당신은 우주 경주에 참여하자!
코퍼스 Gigantus

28

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


8
솔직히 내가 그렇게하지 않았다고 생각합니까? 사실, 나는 2 단계에서 컴퓨터를 다시 시작했다고 썼다.
5xum

14
다운 투표는 보증되지 않습니다. 내 대답은 문제가 발생했을 때이 페이지를 방문한 다른 사람들의 이익을위한 것이 었습니다. 내 PC를 재부팅하기 전에 1/2 시간을 낭비하여 문제가 무엇인지 알아 내려고해야합니다. 이 방법은 효과가 없었지만 다른 사용자에게는 효과가있을 수 있습니다.
Jan Hettich

3
나를 위해 일했습니다 ... 더 복잡한 솔루션을 시도하기 전에 첫 번째 단계로 체크리스트에있을 가치가 있습니다.
Tony O'Hagan

4
이것은 나에게도 도움이되었습니다. 아이콘 오버레이가 explorer프로세스와 연결되어 있음을 알았 으며 TortoiseSVN을 사용하면 explorer프로세스를 종료 하고 다시 시작하는 것을 방지하기 위해 활성 창이 아니라 기본 창 을 간단히 다시 시작할 수있었습니다. TortoiseGit에 대해서도 동일한 작업을 수행했지만 충분하지 않았습니다. 재시작이 도움이되었습니다.
Slav

1
이 답변을 포함한 모든 답변을 읽은 다음 Windows 탐색기를 다시 시작하기로 선택했습니다 ( @replicantspy의 답변에 언급 된 Ctrl + Shift + Asc-then-restart-process 접근 방식을 사용했습니다 ). 그것은 나를 위해 일했다! 따라서이 답변의 +1은 매우 공정합니다. :) Tks!
Luiz Vieira

16

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

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

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

"1TortoiseNormal"

로 변경해야합니다.

" 1TortoiseNormal"

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


4

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에있었습니다.

내가 고 치던 것은 GitLab의 TortoiseGit 이슈 # 692에서 제기되었습니다 .

  • 열다 regedit.exe
    • 이동 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • 값이 "2000"인 새 문자열 값 "Max Cached Icons"를 추가하십시오.

닫힌 / 다시 시작된 탐색기 및 아이콘이 표시됩니다!


1
나는 이것이 가장 쉽고 빠르며 최상의 솔루션이라는 것을 알았습니다 (Windows 10).
timbo 2009 년

3

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


3

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

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

또한 TortoiseSVN을 사용하고 해당 아이콘 오버레이가 여전히 작동합니다. 작업 관리자의 프로세스 탭에서 TSVNCache.exe라는 것이 실행중인 것을 보았습니다. git과 비슷한 징후는 없으므로 응용 프로그램 탭으로 이동하여 "새 작업"을 누르고 TGITCache.exe를 입력하면 프로세스가 충분히 시작됩니다. 거기에서 프로세스로 돌아가서 explorer.exe를 종료하고 응용 프로그램-> 새 작업으로 다시 이동하여 explorer.exe를 실행하십시오.

TortoiseGIT 아이콘 오버레이가 종료되면 이제 두 번 작동했습니다. 아마 다른 사람에게도 효과가 있습니다.


2

나를 위해 일한 것은 내 컴퓨터에서 Google 드라이브를 제거하는 것이 었습니다. 왜 아직 확실하지 않습니다.


위의 내 의견을 참조하십시오. 하드 코딩 된 한도는 15 개이며 Google 드라이브는 Onedrive, 보관 용 계정 및 기타와 마찬가지로 여러 가지를 사용합니다. Torroise는 10을 사용하는 것만으로도 최악의 것 중 하나입니다. Google 드라이브를 제거하면 오버레이 등록 키가 삭제되어 15 개 중 "무료"가 남게되어 거북이 아이콘이 표시됩니다.
Collin Chaffin

2

Chi Chan에 동의하며이를 보완 답변으로 추가하고 싶습니다.

Dropbox Explorer 아이콘입니다. 다음은이를 제거하는 레지스트리 스크립트입니다. 그들이 돌아올 것이기 때문에 어딘가에 저장하십시오!

값도 수시로 변경됩니다. 현재 "DropboxExtXX"앞에 3 개의 공백이 있으며 하나만 있습니다.

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]

1

선행 공간의 문제는 재부팅 할 때마다 Dropbox가 레지스트리에 다른 공간을 추가하며 항상 한 발 앞서 있다는 것입니다.

그래서 나는이 게시물 (Christoph Zwerschke가 작성한)에서 컴퓨터가 부팅 될 때마다 실행되도록 파이썬 스크립트를 예약했습니다 . 그 후에 탐색기를 다시 시작해야합니다.

.bat는 다음과 같습니다.

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

그리고 파이썬 스크립트 :

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

1

Windows 10에서 나를 위해 일한 것은

  1. TortoiseGit 제거
  2. 폴더 정리 및 등록
  3. 다시 한번 설치
  4. 컴퓨터 재부팅
  5. 빨간색 아이콘이 보이지 않더라도 무작위 커밋 만들기
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.