wake-up-neo.com

TortoiseGit zeigt keine Symbolüberlagerungen an

Ich benutze TortoiseGit seit fast einem ganzen Jahr. Bei mir hat es sehr gut funktioniert, bis ich gestern auf ein Problem gestoßen bin. Ich habe einen Ordner gelöscht, als der Windows Explorer über eine Stunde lang auf mich abgestürzt ist (er hing am Erkennen von Elementen). Dann habe ich das System neu gestartet.

Seitdem (und ich bin mir nicht sicher, dass der beschriebene Vorfall irgendetwas damit zu tun hat), zeigt TortoiseGit im Explorer keine Symbolüberlagerungen mehr an. Das Verhalten ist jedoch nicht wie bei den anderen, die hier Fragen gestellt haben, weil:

In dem open file Dialog aller Programme, die Icons sind noch vorhanden (!).

Hier ist eine Liste von Dingen, die ich ausprobiert habe:

  1. Ich habe die TortoiseGit-Einstellungen geändert, um verschiedene Symbole anzuzeigen.
  2. Installieren Sie TortoiseGit neu (deinstallieren, neu starten, installieren, neu starten).
  3. Ich habe alle Icon-Overlays gelöscht, beginnend mit "Tortoise" in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, deinstallierte TortoiseGit, startete den Computer neu und installierte TortoiseGit neu.

Bearbeiten:

Ich habe versucht, einen neuen Benutzer auf meinem Computer zu erstellen, und der neue Benutzer verfügt über gut funktionierende Symbolüberlagerungen. Ich bin jetzt noch verwirrter.

Bisher hat nichts geholfen. Irgendwelche Ideen?

120
5xum

Ich hatte das gleiche Problem und habe es durch Befolgen der Anweisungen aus einem Forum zum Laufen gebracht. Was ich getan habe war dies (kopiert):

Ich finde Lösung :) Mit "" Alle Schildkrötenschlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers Einwickeln

auf 1TortoiseNormal und etc ... Ich habe das Problem verstanden, da Dropbox funktionierte und es regedit gab es das Zeichen ("") für Dropbox, aber nicht für Tortoise. Also habe ich die Zeichen hinzugefügt, Explorer.exe geschlossen und hoffe, es war gut :)

Also habe ich den Schlüssel 1TortioiseNormal In "1TortioiseNormal" Usw. umbenannt. Ich habe keine Ahnung, warum das Umschließen in ein doppeltes Anführungszeichen dazu führt, dass es wieder funktioniert.

Das ursprüngliche Forum ist weg, aber eine gute Zusammenfassung wird in den Kommentaren angegeben.

119
Chi Chan

Windows lässt nur bis zu 11 Symbolüberlagerungs-IDs zu, die in alphanumerischer Reihenfolge angeordnet sind. Wenn mehr als 11 vorhanden sind, werden diese Symbole nicht angezeigt.

Sie können den folgenden Befehl in einer DOS-Eingabeaufforderung ausführen:

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

Öffnen Sie dann die Datei C:\icons.txt. Überspringen Sie die ersten beiden Zeilen, und wenn 1TortoiseNormal Und die anderen *Tortoise* Werte nicht in den oberen 11 Werten enthalten sind, werden ihre Symbolüberlagerungen nicht angezeigt. Die Lösung von @ Chi Chan ist nur ein einfacher Weg, um 1TortoiseNormal Höher zu ranken, wenn es unter allen Overlays angeordnet ist. Sie können die Werte auch umbenennen, indem Sie Leerzeichen vor 1TortoiseNormal, Dh

" 1TortoiseNormal"

um sie ranghöher zu machen.

Update: Für Windows 8 beträgt die Obergrenze für Symbolüberlagerungen 15.

89
Dzhuang

Windows 10 Lösungsschritte;

  1. Regedit öffnen

Pfad:

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

  1. Entfernen/Löschen aller SkyDrive/OneDrive-Schlüssel. Möglicherweise müssen Sie die Schlüssel einzeln übernehmen und Ihrem Benutzer die volle Kontrolle überlassen, wenn Sie beim Versuch, die Schlüssel zu löschen, eine Fehlermeldung erhalten.

  2. Drücken Sie Strg + Umschalt + Esc und starten Sie "Windows Explorer" neu (optional Computer neu starten)

  3. Alle Git/Svn-Overlay-Symbole sind jetzt sichtbar!

35
replicantspy

Versuchen Sie einfach einen Neustart, bevor Sie verrückt werden! Es hat bei mir geklappt;)

22
Jan Hettich

Fügen Sie einfach ein Leerzeichen (oder mehr, falls erforderlich) in die Optionen für den Vornamen der Schildkröte ein:

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

beispielsweise:

"1TortoiseNormal"

Sollte sich ändern zu:

" 1TortoiseNormal"

nach einem System werden die Symbole reboot korrekt angezeigt.

13

Ich hatte heute nach der Deinstallation von TortoiseSVN das gleiche Problem. Ich habe neu gestartet und immer noch kein Glück, also bin ich einfach in die Systemsteuerung gegangen, habe ein Programm deinstalliert und bei TortoiseGit 'Reparieren' ausgewählt und alles ist wieder in normal. Ich vermute, dass alle Tortoise-Apps gemeinsame Registrierungsschlüssel oder ähnliches haben.

3
Richard Edwards

Ich habe auch meine TortoiseGIT Shell-Symbole plötzlich nicht mehr angezeigt. Ich kann mich nicht genau erinnern, was dazu geführt hat, aber ich habe dies gefunden und versucht, das Registrierungsmaterial von 1TortioiseNormal in "1TortioiseNormal" zu ändern und so weiter. Das ist wahrscheinlich eine gute Sache, egal was passiert, aber Icon-Overlays funktionierten immer noch nicht.

Ich bin zu beschäftigt für die pauschale Antwort "Computer neu starten", was zu mir sagt, ist "ein Dienstprozess muss neu gestartet werden, aber Sie würden ihn niemals finden, also starten Sie ihn einfach neu." Nein.

Ich benutze auch TortoiseSVN und diese Icon-Overlays funktionierten immer noch für mich. Ich habe in der Registerkarte "Prozesse" des Task-Managers nachgesehen und festgestellt, dass die Datei "TSVNCache.exe" ausgeführt wird. Keine Spur von etwas Ähnlichem für git, also ging ich aus einer Laune heraus zur Registerkarte "Anwendungen" und drückte auf "Neue Aufgabe", gab TGITCache.exe ein und dieser Prozess wurde gestartet. Gehen Sie von dort zurück zu Prozessen, beenden Sie Explorer.exe und kehren Sie dann zu Anwendungen -> Neue Aufgabe zurück, und starten Sie Explorer.exe.

Bei mir hat das jetzt zweimal geklappt, als meine TortoiseGIT-Symbol-Overlays beendet wurden. Vielleicht funktioniert es also für jemand anderen.

3
arudlang

Ich hatte TortoiseSVN (1.9.5) und msysgit (2.11.0) zuerst auf meinem Windows 10 64-Bit-Computer installiert. TortoiseSVN-Symbole werden gut angezeigt.

Als ich TortoiseGit (2.3.0.0) nach diesen beiden installierte, wurden die Symbole nicht angezeigt.

Ich überprüfte HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers und alles sah gut aus. Die Schildkrötenikonen waren in den Top 10.

Was ich früher repariert habe, wurde in TortoiseGit-Problem Nr. 692 in GitLab :

  • Öffne regedit.exe
    • Gehe zu HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Fügen Sie einen neuen Zeichenfolgenwert "Max Cached Icons" mit dem Wert "2000" hinzu.

explorer geschlossen/neu gestartet und Icons angezeigt!

3
icc97

Bei mir hat es funktioniert, Google Drive von meinem Computer zu deinstallieren. Ich weiß noch nicht warum.

2
Darien Pardinas

Was bei mir für Windows 10 funktioniert ist

  1. tortoiseGit deinstallieren
  2. ordner reinigen und registrieren
  3. noch einmal installieren
  4. starten Sie den Computer neu
  5. zufälliges Festschreiben, auch wenn das rote Symbol nicht angezeigt wird
1
Roman

Nun, ich vermute, ich habe den offensichtlichen Schritt verpasst ...

In TortoiseGit-Einstellungen> Symbolüberlagerungen:

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

1
sel-en-ium

Ich stimme Chi Chan zu und möchte dies als ergänzende Antwort hinzufügen.

Es handelt sich um Dropbox Explorer-Symbole. Hier ist ein Registrierungsskript, um sie zu entfernen. Speichern Sie es irgendwo, denn sie werden wiederkommen!

Beachten Sie, dass sich die Werte auch von Zeit zu Zeit ändern. Derzeit haben sie 3 Leerzeichen vor der "DropboxExtXX", bevor sie nur eins hatten.

Entfernen Sie 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
bytecode77

Das Problem mit den führenden Leerzeichen ist, dass Dropbox bei jedem Neustart seinen Registrierungen einen weiteren Leerzeichen hinzufügt und Ihnen immer einen Schritt voraus ist.

Daher habe ich ein python) Skript geplant, das in diesem Beitrag (von Christoph Zwerschke) bei jedem Neustart des Computers ausgeführt wird. Danach muss der Explorer neu gestartet werden .

Die .bat wird so aussehen:

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

Und das python Skript:

#/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
mathiasfk

Vor langer Zeit habe ich versucht, das Problem mit Symbolüberlagerungen durch Bearbeiten der Registrierung zu lösen: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers oder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers, aber jedes Mal, wenn OneDrive oder Dropbox aktualisiert wurden, wird den Registries mehr Speicherplatz hinzugefügt. Das Problem wurde jedoch gelöst:

Wählen Sie TortoiseGit-Einstellungen> Symbol-Overlays> (Status-Cache) Shell Extended enter image description here

Derzeit befinden sich OneDrive und Dropbox oben in der ShellIconOverlayIdentifiers-Liste, aber alle Tortoise-Symbol-Overlays werden korrekt angezeigt

1
mr NAE