TortoiseGit zeigt keine Symbolüberlagerungen an


133

Ich benutze TortoiseGitjetzt seit fast einem ganzen Jahr. Es hat bei mir bis gestern sehr gut funktioniert, als ich auf ein Problem stieß. Ich habe einen Ordner gelöscht, als Windows Explorer über eine Stunde lang auf mich abgestürzt ist (er hing beim "Erkennen von Elementen"), und dann habe ich das System neu gestartet.

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

Im open fileDialog aller Programme sind die Icons noch vorhanden (!).

Hier ist eine Liste der Dinge, die ich versucht 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 Symbol-Overlays gelöscht, beginnend mit "Tortoise" in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, dann TortoiseGit deinstalliert, den Computer neu gestartet und TortoiseGit neu installiert.

Bearbeiten:

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

Bisher hat nichts geholfen. Irgendwelche Ideen?


Haben Sie TortoiseSVN installiert?
Glasgow

@mozgow Nein, nur TortoiseGit
5xum

5
Das gleiche ist mir passiert. Meins ist passiert, weil ich "Dropbox" auf meinem Computer installiert habe. Dropbox verwendet auch IconOverlays und sie sind in der Liste höher als TortoiseGit. Und da Sie nur 15 haben können, sehen Sie sie möglicherweise aus diesem Grund nicht. Meins beginnt in der Liste von 19-28, daher mein Grund, sie nicht zu sehen. Verwenden Sie den folgenden Vorschlag von Dzhuang, um zu sehen, wo Ihre Überlagerungen in der Liste stehen.
Tschad

Mögliches Duplikat der TortoiseGit-
Symbolüberlagerungen wird

@MrTux Ich wäre neugierig zu wissen, wie Sie eine am 6. August 2014 gestellte Frage als Duplikat einer Frage betrachten, die am 11. Januar 2017 gestellt wurde (dh über 2 Jahre später ).
5xum

Antworten:


129

Ich hatte das gleiche Problem und brachte es zum Laufen, indem ich den Anweisungen eines Forums folgte. Was ich getan habe war das (kopiert):

Ich finde Lösung :) Wickeln mit ""allen Schildkrötenschlüsseln darunter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

on 1TortoiseNormalund etc ... Ich verstand das Problem, als Dropbox und es funktionierte regedit gab es das Zeichen ( "") für Dropbox, aber keine Schildkröte. Also habe ich die Zeichen hinzugefügt, explorer.exe geschlossen und gehofft, es war gut :)

Also habe ich den Schlüssel 1TortoiseNormalin "1TortoiseNormal"usw. umbenannt. Ich habe keine Ahnung, warum es wieder funktioniert, wenn ich ihn in ein doppeltes Anführungszeichen einbinde.

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


33
Es ist wahrscheinlich eine Frage der Sortierung. Das Zeichen in doppelten Anführungszeichen ist eines der ersten druckbaren Zeichen, daher steht "DropboxExt1" vor 1TortoiseNormal, "1TortoiseNormal" jedoch vor "DropboxExt1". Ich habe auch versucht, das doppelte Anführungszeichen aus den Schlüsseln der Dropbox zu entfernen, und es hat funktioniert.
user34814

5
Ich habe etwas aus Skype-Einträgen gelernt. Anstatt es um "" (doppelte Anführungszeichen) zu wickeln, fügen Sie einfach ein Leerzeichen am Anfang der Einträge hinzu. Die Einträge wären also <space-char> 1TortoiseNormal und etc ... Es scheint endlich eine Frage der Sortierung zu sein :) es scheint.
Pratham

5
Ich hatte auch das gleiche Problem nach der Installation von Dropbox. Ich fand den Grund / die Problemumgehung in diesem Blog klar, aber nach dem Umbenennen der Schildkrötenschlüssel schienen sie nicht ganz oben auf der Liste zu stehen. Es dauerte eine Weile, bis mir klar wurde, dass die Dropbox-Schlüssel vorne ein Leerzeichen hatten .. also habe ich die Schildkröten in <Leerzeichen> 1TortoiseNormal usw. umbenannt. BLOG: blog.garethjmsaunders.co.uk/2015/03/22/…
user1420372

10
@CodyStott Es stellt sich heraus, dass MS jetzt dasselbe tut ... OneDrive-Symbole beginnen ebenfalls mit einem Leerzeichen ... In 10 Jahren, nachdem alle Unternehmen diesen Trick herausgefunden haben, beginnen alle Schlüsselnamen mit Dutzenden von Leerzeichen ...: p
Stijn de Witt

30
UPDATE: Dropbox fügt jetzt auch 3 Leerzeichen vor ... MS Bitte beachten Sie (nun, Sie haben es bereits getan, da OneDrive diesen Trick verwendet) und ergreifen Sie Maßnahmen . Das ist total beschissen. Und was ist überhaupt mit diesem 11/15 Symbolmaximum los? Es ist 2017?!? Ich brauche keine weitere Überarbeitung der Benutzeroberfläche ... Ich brauche solche Dinge, um sie in weniger als 2 Jahrzehnten zu reparieren!
Stijn de Witt

102

Windows lässt nur bis zu 11 Symbolüberlagerungskennungen 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. Wenn 1TortoiseNormalund die anderen *Tortoise*Werte nicht zu den Top-11-Werten gehören, werden ihre Symbolüberlagerungen nicht angezeigt. Die von @Chi Chan bereitgestellte Lösung ist nur eine einfache Möglichkeit, den 1TortoiseNormalRang zu erhöhen, wenn sie unter allen Überlagerungen angeordnet ist. Sie können die Werte auch umbenennen, indem Sie Leerzeichen vor 1TortoiseNormal, dh hinzufügen.

" 1TortoiseNormal"

um sie höher zu rangieren.

Update: Für Windows 8 beträgt die maximale Anzahl von Symbolüberlagerungen 15.


35
LOL. Also habe ich gerade ein Upgrade auf Windows 10 durchgeführt und meine TortoiseGit-Symbole fehlten, also habe ich diesen Thread gesucht und gefunden ... Es stellt sich heraus, dass Microsoft diesen Thread wahrscheinlich auch gelesen hat, da die OneDrive-Symbole standardmäßig mit einem Leerzeichen beginnen !! Wie dumm von Microsoft, dass sie darauf zurückgreifen würden ... anstatt nur einen Bildschirm zu erstellen, auf dem wir die Reihenfolge / Priorität der Symbolanmerkungen in den Windows-Einstellungen konfigurieren können.
Stijn de Witt

20
@StijndeWitt GoogleDrive und TortoiseSVN / Git scheinen nun den Einsatz erhöht und 2 Leerzeichen hinzugefügt zu haben . Wir sind jetzt offiziell in einem Weltraumrennen ...
icc97

15
@ icc97 LOL @ 'Weltraumrennen'. Aber DropBox ist diesen Amateuren einen Schritt voraus ... sie fügen 3 Leerzeichen hinzu: [....\ DropboxExt01](Bearbeiten: SO reduziert sie anscheinend auf 1 ...)
Stijn de Witt

8
HINWEIS!! Starten Sie den Windows Explorer neu, damit die Symbole angezeigt werden. Drücken Sie Strg + Umschalt + Esc und starten Sie "Windows Explorer" neu (optional Computer neu starten)
PhillipPDX

7
Ich habe gerade auch oben kommentiert, wollte aber hier hinzufügen, dass alle großen Cloud-Anbieter (Onedrive, Dropbox, Google Drive) jetzt DYNAMISCH die Liste lesen und AUTOMATISCH ANPASSEN und Leerzeichen anführen, um den Krieg zu "gewinnen" ... bis zum nächsten aktualisiert und macht das gleiche. Meine haben jetzt buchstäblich alle mindestens FÜNF führende Räume !! Außerdem ist es 15 von Vista und höher.
Collin Chaffin

40

Windows 10-Lösungsschritte;

  1. Öffnen Sie regedit

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 geben, wenn beim Versuch, die Schlüssel zu löschen, eine Fehlermeldung angezeigt wird.

  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!


Das funktioniert bei mir. Es scheint, dass die Anzahl der im Windows Explorer zulässigen Symbolüberlagerungen begrenzt ist.
Yodacheese

6
Aus irgendeinem Grund konnte ich OneDrive-Schlüssel nicht löschen. Ich habe gerade drei Leerzeichen zum Start der Schildkrötenschlüssel hinzugefügt, neu gestartet und es hat wieder funktioniert.
NickH

1
OneDrive legt die Schlüssel beim nächsten erneuten Anmelden wieder zurück.
Mike Lowery

2
Anstatt vorhandene Schlüssel zu löschen, können Sie einfach zwei (oder mehr) Leerzeichen vor allen Schildkrötenschlüsseln hinzufügen . Wird den gleichen Effekt haben - und Sie können am Weltraumrennen teilnehmen!
Corpus Gigantus

28

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


8
Glaubst du wirklich, ich habe das nicht versucht? Tatsächlich schrieb ich, dass ich meinen Computer in Schritt 2 neu gestartet habe.
5xum

14
Die Abwahl ist nicht gerechtfertigt. Meine Antwort war zum Nutzen anderer, die wie ich auf diese Seite kamen, als ich das Problem erlebte. Ich muss eine halbe Stunde damit verbracht haben, herauszufinden, wo das Problem lag, bevor ich meinen PC neu gestartet habe. Ich schätze, dass dies bei Ihnen nicht funktioniert hat, aber möglicherweise bei anderen.
Jan Hettich

3
Hat für mich funktioniert ... Es lohnt sich auf jeden Fall, als erster Schritt in der Checkliste zu stehen, bevor Sie komplexere Lösungen ausprobieren.
Tony O'Hagan

4
Das hat mir auch geholfen. Ich wusste, dass die Symbolüberlagerungen an den explorerProzess gebunden waren , und mit TortoiseSVN war es möglich, den explorerProzess (nicht das aktive Fenster, sondern das Hauptfenster) einfach abzubrechen und neu zu starten, um einen Neustart zu vermeiden. Ich habe das gleiche für TortoiseGit getan, aber das war nicht genug. Ein Neustart hat geholfen.
Slawisch

1
Ich habe alle Antworten gelesen, einschließlich dieser, und mich dann für den Neustart des Windows-Explorers entschieden (ich habe den bei der Antwort von @ replicantspy erwähnten Ansatz Strg + Umschalt + Asc-dann-Neustart verwendet ). Es hat bei mir funktioniert! Die +1 für diese Antwort ist also ziemlich fair. :) Tks!
Luiz Vieira

16

Fügen Sie einfach ein Leerzeichen (oder mehr, falls erforderlich) zu den Optionen für den Vornamen der Schildkröte zu diesen Regedit-Adddern hinzu:

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

beispielsweise:

"1TortoiseNormal"

Sollte sich ändern zu:

" 1TortoiseNormal"

Nach einem System werden die rebootSymbole korrekt angezeigt.


4

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.

Wenn ich TortoiseGit (2.3.0.0) nach diesen beiden installiert habe, werden die Symbole nicht angezeigt.

Ich habe nachgesehen HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersund alles sah gut aus. Die Schildkrötenikonen waren in den Top 10.

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

  • Öffnen 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.

geschlossener / neu gestarteter Explorer und Symbolanzeige!


1
Ich fand, dass dies die einfachste, schnellste und beste Lösung für mich ist (Windows 10).
Timbo

3

Ich hatte heute das gleiche Problem, nachdem ich TortoiseSVN deinstalliert hatte. Ich habe neu gestartet und immer noch kein Glück gehabt, also bin ich einfach in die Systemsteuerung gegangen , habe ein Programm deinstalliert und auf dem TortoiseGit-Element 'Reparieren' ausgewählt und alles ist wieder normal. Ich vermute, dass alle Apps der Tortoise-Reihe über gemeinsame Registrierungsschlüssel verfügen.


3

Ich hatte auch meine TortoiseGIT-Shell-Symbole plötzlich nicht mehr angezeigt. Ich erinnere mich nicht genau, was dazu geführt hat, aber ich fand dies und versuchte, das Registrierungsmaterial 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". Das sagt mir: "Ein Serviceprozess muss neu gestartet werden, aber Sie werden ihn nie finden können, also starten Sie ihn einfach neu." Nein, nein.

Ich benutze auch TortoiseSVN und diese Symbolüberlagerungen funktionierten immer noch für mich. Ich habe in der Registerkarte "Prozesse" des Task-Managers nachgesehen, dass TSVNCache.exe ausgeführt wird. Keine Anzeichen von Ä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 sicher, dass dieser Prozess gestartet wurde. Gehen Sie von dort zurück zu den Prozessen, beenden Sie explorer.exe, kehren Sie dann zu Anwendungen -> Neue Aufgabe zurück und starten Sie explorer.exe.

Dies hat jetzt zweimal für mich funktioniert, wenn meine TortoiseGIT-Symbolüberlagerungen beendet wurden. Vielleicht funktioniert es für jemand anderen.


2

Für mich funktionierte die Deinstallation von Google Drive von meinem Computer. Ich weiß noch nicht warum.


Siehe meine Kommentare oben. Es gibt ein fest codiertes Limit von 15 Overlays, und Google Drive verwendet mehrere, ebenso wie Onedrive, Dropbox und andere. Torroise ist eine der schlimmsten, wenn man 10 alleine benutzt und fast keine für irgendetwas anderes übrig lässt. Durch das Entfernen von Google Drive haben Sie einfach die Overlay-Registrierungsschlüssel gelöscht und genug "frei" von den 15 gelassen, um endlich die Schildkrötensymbole zu sehen.
Collin Chaffin

2

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

Es sind Dropbox Explorer-Symbole. Hier ist ein Registrierungsskript, um sie zu entfernen. Speichern Sie es irgendwo, weil sie zurückkommen werden!

Beachten Sie, dass sich die Werte auch von Zeit zu Zeit ändern. Derzeit haben sie 3 Leerzeichen vor der "DropboxExtXX", bevor sie nur eines 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

Das Problem mit den führenden Speicherplätzen besteht darin, dass Dropbox bei jedem Neustart seinen Registrierungen einen weiteren Speicherplatz hinzufügt und Ihnen immer einen Schritt voraus ist.

Daher habe ich ein Python-Skript für diesen Beitrag (von Christoph Zwerschke) geplant, das bei jedem Start des Computers ausgeführt werden soll. Danach müssen Sie den Explorer neu starten.

Die .bat sieht folgendermaßen aus:

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

Was für mich für Windows 10 funktioniert, ist

  1. TortoiseGit deinstallieren
  2. Ordner reinigen und registrieren
  3. Installieren Sie es erneut
  4. Starten Sie den Computer neu
  5. Zufälliges Festschreiben, auch wenn das rote Symbol nicht angezeigt wird
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.