TortoiseGit не відображає накладки із значками


133

Я використовую TortoiseGitвже майже повний рік. Це дуже добре працювало для мене до вчора, коли я зіткнувся з проблемою. Я видаляв папку, коли Windows Explorer на мене врізався (він висів на "виявленні предметів") більше години, після чого я перезапустив систему.

З цього часу (і я не впевнений, чи має місце описуваний інцидент) 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, звідси і моя причина того, що я їх не бачив. Скористайтеся пропозицією Джуанга нижче, щоб побачити, де у списку розміщуються Ваші накладки.
Чад

Можливий дублікат
накладки

@MrTux я б дива , щоб знати , як ви вважаєте , питання , який задають 6 серпня 2014 як дублікат питання , яке було задане 11 січня 2017 (тобто більше 2 років тому ).
5xum

Відповіді:


130

У мене була така ж проблема, і я змусив її працювати, дотримуючись інструкцій з форуму. Що я зробив, це це (скопійовано):

Я знаходжу рішення :) Загортання ""всіх клавіш черепахи під HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

на 1TortoiseNormalі т.д ... Я зрозумів проблему, бачачи , як Dropbox і він працював Regedit був знак ( "") на Dropbox , але не черепаху. Тож я додав знаки, закрити explorer.exe і скачу, що це було добре :)

Тож, що я зробив, було перейменувати ключ 1TortoiseNormalі "1TortoiseNormal"т. Д. Я поняття не маю, чому загортання його в подвійну цитату змушує її працювати знову.

Оригінального форуму немає, але в коментарях подано хороший підсумок .


33
Це, мабуть, питання сортування. Символ з подвійною цитатою є одним із перших символів для друку, тому "DropboxExt1" надходить до 1TortoiseNormal, але "1TortoiseNormal" приходить перед "DropboxExt1". Я також спробував видалити подвійну лапки з клавіш Dropbox, і вона спрацювала.
користувач34814

5
Щось дізнався з записів у Skype. Замість того, щоб обертати його навколо "" (подвійні лапки), просто додайте пробіл на початку записів. Отже записи будуть <space-char> 1TortoiseNormal і т. Д. ... Нарешті, питання сортування :) здається.
Пратем

5
У мене також була така ж проблема після встановлення Dropbox. Причину / рішення в цьому блозі я виявив зрозумілим, проте після перейменування клавіш черепахи вони, схоже, не вдавалися до початку списку. У мене знадобилось трохи часу, щоб зрозуміти, що клавіші в скриньці мали місце на передній частині .. тому я перейменував черепах на <space> 1TortoiseNormal тощо. БЛОГ: blog.garethjmsaunders.co.uk/2015/03/22/…
користувач1420372

10
@CodyStott Виявляється, MS зараз робить те саме ... Піктограми OneDrive починаються з простору ... Через 10 років після того, як усі компанії знайдуть цю хитрість, усі ключові назви почнуться з десятків пробілів ...: p
Штійн де Вітт

30
ОНОВЛЕННЯ: Dropbox тепер також додає 3 пробіли спереду ... MS, будь ласка, візьміть на замітку (добре, що ви вже зробили, коли OneDrive використовує цей трюк) та вживайте заходів . Це повністю смокче. І що все-таки з цим значком 11/15 максимум? Це 2017 рік?!? Мені не потрібен ще один капітальний ремонт інтерфейсу ... Мені потрібні такі речі, щоб виправитись за 2 роки!
Штійн де Віт

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
ЛОЛ. Тож я просто перейшов на Windows 10, і мої піктограми TortoiseGit були відсутні, тому я шукав і знайшов цю тему ... Виявляється, Microsoft, ймовірно, також читала цю тему, оскільки піктограми OneDrive починаються з пробілу за замовчуванням !! Як нерозумно від Microsoft, що вони вдаються до цього ... замість того, щоб просто створити екран, який дозволяє нам налаштувати порядок / пріоритет анотацій із значками в налаштуваннях Windows.
Штійн де Вітт

20
@StijndeWitt GoogleDrive та TortoiseSVN / Git, схоже, збільшили попередню кількість даних та додали 2 пробіли. Зараз ми офіційно перебуваємо в космічній гонці ...
icc97

15
@ icc97 LOL @ 'космічна гонка'. Але DropBox на крок попереду цих любителів ... вони додають 3 пробіли: [....\ DropboxExt01](редагувати: ТАК згортає їх на 1, здається ...)
Stijn de Witt

8
ПРИМІТКА!! Перезапустіть Провідник Windows, щоб піктограми відображалися. Натисніть Ctrl + Shift + Esc та перезапустіть "Провідник Windows" (необов'язково перезавантажте комп'ютер)
PhillipPDX

7
Я також просто прокоментував вище, але хотів додати тут, що всі великі постачальники хмар (onedrive, dropbox, google drive) тепер НАДІЙНО читають список і АВТОМАТИЧНО АДАПТУЮТЬ та пробіли, щоб "виграти" війну .... до наступної оновлює і робить те саме. У моїх тепер є буквально всі, принаймні, П'ять провідних просторів !! Також це 15 з Vista та пізніших версій.
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 тепер видні!


Це працює для мене. Здається, існує обмеження на кількість накладених значків, що дозволяються на Windows Explorer.
Йодачі

6
З будь-якої причини я не міг видалити OneDrive ключі. Я щойно додав три пробіли до запуску клавіш черепахи, перезавантажився і він знову працював.
NickH

1
OneDrive повертає ключі в наступний раз, коли ви перейдете.
Майк Лоурі

2
Замість видалення існуючих ключів ви можете просто додати два (або більше) пробілів перед усіма клавішами черепахи . Матиме такий же ефект - і нехай ви приєднаєтесь до космічної гонки!
Corpus Gigantus

28

Перш ніж перейти на горіхи, просто спробуйте перезавантажити! Це працювало для мене;)


8
Чесно кажучи, ти справді думаєш, що я цього не пробував? Насправді я написав, що перезавантажив комп’ютер на кроці 2.
разів

14
Голосування "за" - це необґрунтовано. Моя відповідь була на користь інших, хто зайшов на цю сторінку, як і я, коли відчув проблему. Я, мабуть, витрачав півгодини, намагаючись зрозуміти, у чому проблема, перед тим, як перезавантажити свій ПК. Я вдячний, що це не спрацювало для вас, але може спрацювати і для інших.
Ян Геттіч

3
Працювало для мене ... Напевно, варто опинитися у контрольному списку як перший крок, перш ніж спробувати складніші рішення.
Тоні О'Хаган

4
Це мені теж допомогло. Я знав, що накладки значків прив’язуються до explorerпроцесу, і за допомогою TortoiseSVN можна було просто вбити та перезапустити explorerпроцес (не активне вікно, а головне), щоб уникнути перезавантаження. Я зробив те саме для TortoiseGit, але цього було недостатньо. Перезапуск допоміг.
Слав

1
Я прочитав усі відповіді, включаючи цю, а потім вирішив просто перезапустити Провідник Windows (я використав підхід Ctrl + Shift + Asc, а потім-перезапуск, згаданий у відповіді @ replicantspy ). Це працювало для мене! Отже, +1 для цієї відповіді цілком справедливо. :) Ткс!
Луїз Віейра

16

Просто додайте один пробіл (або більше, якщо потрібно) до першої назви параметрів Черепаха до цих добавок у regedit:

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

наприклад:

"1TortoiseNormal"

Слід змінити на:

" 1TortoiseNormal"

після того, як rebootпіктограми системи відображаються неправильно.


4

Я встановив спочатку TortoiseSVN (1.9.5) та msysgit (2.11.0) на моїй 64-розрядної машині Windows 10. Значки TortoiseSVN відображаються прекрасно.

Коли я встановив TortoiseGit (2.3.0.0) після цих двох, піктограми не відображатимуться.

Я перевірив HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersі все виглядало нормально. Значки черепах були в топ-10.

Те, що я використовував для виправлення, було порушено у випуску TortoiseGit № 692 у GitLab :

  • відчинено regedit.exe
    • Йти до HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Додайте нове значення рядка "Максимальні кешовані значки" зі значенням "2000"

закритий / перезапущений Explorer і відображення піктограм!


1
Я знайшов це для мене найпростішим, швидким та найкращим рішенням (Windows 10).
тембо

3

У мене ця проблема була сьогодні після видалення TortoiseSVN. Я перезавантажився і все ще не пощастило, тому я просто зайшов у панель керування, видалити програму і на пункті TortoiseGit я вибрав «Ремонт», і все повернулося до норми. Я підозрюю, що всі додатки Tortoise мають деякі спільні ключі реєстру чи щось таке.


3

У мене також несподівано кинули відображатися мої піктограми оболонок TortoiseGIT, я не пам’ятаю, що саме до цього призвело, але я виявив це і спробував реєстр змінити 1TortioiseNormal на «1TortioiseNormal» тощо. Це, мабуть, добре робити, незважаючи ні на що, але накладки з іконками все ще не працювали.

Я занадто зайнятий відповіддю "перезавантажити комп'ютер", що мені каже: "деякий сервісний процес потрібно перезапустити, але ви ніколи не зможете його знайти, так що просто перезавантажте". Ні.

Я також використовую TortoiseSVN, і ці накладки значків все ще працювали для мене. Я переглянув вкладку процесів менеджера завдань і побачив, що у мене працює щось, що називається TSVNCache.exe. Ніяких ознак нічого подібного для git, тож за примхою я перейшов на вкладку додатків і натиснув «Нова задача», ввійшов у TGITCache.exe і досить впевнений, що цей процес запустився. Звідти поверніться до процесів, убийте explor.exe, потім поверніться до програм -> Нове завдання ще раз і запустіть Explor.exe.

Це працювало для мене двічі, коли мої накладки TortoiseGIT перестали працювати, тому, можливо, це буде працювати для когось іншого.


2

Що для мене спрацювало - видалити Google Диск зі свого комп’ютера. Не знаю чому ще.


Дивіться мої коментарі вище. Існує жорсткий ліміт 15 накладок, і Google Drive використовує декілька, як і Onedrive, dropbox та інші. Torroise - це один із найгірших випадків використання 10, що залишає майже нічого для нічого іншого. Видаливши Google Диск, ви просто видалили його накладні регістрові клавіші, залишивши достатньо "вільних" з 15, щоб нарешті побачити іконки черепахи.
Collin Chaffin

2

Я погоджуюсь з Чі Чаном і хотів би додати це як додаткову відповідь.

Це піктограми Dropbox Explorer. Ось сценарій реєстру для їх видалення. Збережіть його десь, бо вони повернуться!

Зауважте, що значення також змінюються час від часу. Наразі вони мають 3 місця перед "DropboxExtXX", раніше вони мали лише одне.

Видаліть 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 додає ще один простір до своїх реєстрів, і завжди буде на крок попереду вас.

Тому я запланував піттон- скрипт, знайдений на цій посаді (Крістоф Звершке), який потрібно виконувати кожного разу, коли комп'ютер завантажується. Ви також повинні перезапустити Провідник після цього.

The .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')

1

Те, що для мене працює для Windows 10, - це

  1. видалення TortoiseGit
  2. очищення папок та реєстрація
  3. встановити його ще раз
  4. перезавантаження комп'ютера
  5. роблячи випадкові вчинки, навіть не бачачи червоного значка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.