TortoiseGitがアイコンオーバーレイを表示しない


133

もう一TortoiseGit年近く使っています。私が問題に遭遇した昨日まで、それは私にとって非常にうまく機能しています。Windowsエクスプローラーが1時間以上クラッシュして(「アイテムの検出」でハングした)、フォルダーを削除していて、システムを再起動しました。

それ以来(そして、説明されているインシデントがそれと関係があるかどうかはわかりません)、TortoiseGitはエクスプローラーにアイコンオーバーレイを表示するのをやめました。ただし、この動作は、ここに質問を投稿した他のどの動作とも異なります。

open fileすべてのプログラムのダイアログで、アイコンはまだ存在します(!)。

これが私が試したもののリストです:

  1. TortoiseGitの設定を変更して、別のアイコンを表示しました。
  2. TortoiseGitを再インストールします(アンインストール、再起動、インストール、再起動)。
  3. で「Tortoise」で始まるすべてのアイコンオーバーレイを削除してから、TortoiseGit HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiersをアンインストールし、コンピューターを再起動してTortoiseGitを再インストールしました。

編集:

私のコンピューターで新しいユーザーを作成しようとしましたが、新しいユーザーにはアイコンオーバーレイが正常に機能しています。私は今さらに混乱しています。

これまで何も役に立たなかった。何か案は?


TortoiseSVNはインストールされていますか?
mozgow 2014年

@mozgowいいえ、TortoiseGitのみ
5xum 2014年

5
同じことが私にも起こりました。私のマシンに「Dropbox」をインストールしたので、鉱山が起こりました。DropboxもIconOverlaysを使用しており、TortoiseGitよりもリストで上位にランク付けされています。そして、あなたは15しか持つことができないので、あなたはその理由でそれらを見ることはないかもしれません。鉱山は19-28年のリストから始まっているので、それらを見ないのは私の理由です。以下のDzhuangの提案を使用して、オーバーレイがリストのどこに位置するかを確認してください。
チャド


@MrTux私はあなたの質問は(つまり、2年間で2017年1月11日を尋ねられた質問の重複として2014年8月6日を尋ね考える方法を知っている骨董だろう後で)。
2018

回答:


130

私も同じ問題を抱えていて、フォーラムの指示に従ってそれを機能させました。私がしたことはこれです(コピーされました):

私は解決策を見つけます:) ""すべてのカメの鍵で ラッピングHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

1TortoiseNormalなどと...私はDropboxのよう見て、問題を理解し、それが記号(があったregeditと働いた""Dropboxには)なく、亀。だから私は標識を追加し、explorer.exeを閉じて、それが良かったと思います:)

したがって、私が行ったのは、キーの名前1TortoiseNormal"1TortoiseNormal"etcに変更することでした。二重引用符で囲むと、なぜ再び機能するのかわかりません。

元のフォーラムはなくなりましたが、コメントに適切な要約が示されています。


33
それはおそらくソートの問題です。二重引用符は印刷可能な最初の文字の1つなので、「DropboxExt1」は1TortoiseNormalの前にありますが、「1TortoiseNormal」は「DropboxExt1」の前にあります。また、Dropboxのキーから二重引用符を削除してみましたが、うまくいきました。
user34814

5
Skypeエントリから何かを学びました。""(二重引用符)で囲む代わりに、エントリの先頭にスペースを追加するだけです。したがって、エントリは<space-char> 1TortoiseNormalなどになります...最終的にはソートの問題です:)ようです。
Pratham 2015

5
Dropboxをインストールした後も同じ問題が発生しました。私はこのブログで理由/回避策を明らかにしましたが、亀のキーの名前を変更した後、リストの一番上にあるようには見えませんでした。ドロップボックスのキーの前にスペースがあることに気づくのに少し時間がかかりました..私は、など<スペース> 1TortoiseNormal、BLOGに亀のものと改名よう: blog.garethjmsaunders.co.uk/2015/03/22/...
user1420372を

10
@CodyStott MSも同じようになっていることがわかります... OneDriveアイコンもスペースで始まります...すべての会社がこのトリックを理解してから10年後、すべてのキー名は数十のスペースで始まります...: p
Stijn de Witt

30
UPDATE:Dropboxのは今も追加3つの前にスペースを... MSは注意してください(OneDriveはこのトリックを使用しているとしても、あなたがすでにやった)としてください行動を取ります。これは完全に最悪です。とにかく、この11/15アイコンの最大値はどうなっていますか?2017年ですか?!?私はさらに別のUIのオーバーホールは必要ありません... 20年未満で修正するには、このようなものが必要です!
Stijn de Witt 2017

102

Windowsでは、英数字順に配置されたアイコンオーバーレイ識別子を最大11個まで許可します。11個を超える場合、これらのアイコンは表示されません。

DOSプロンプトで次のコマンドを実行できます。

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

次に、ファイルを開きますC:\icons.txt。最初の2行をスキップし1TortoiseNormal、他の*Tortoise*値が上位11の値にない場合、それらのアイコンオーバーレイは表示されません。@Chi Chanによって提供されるソリューションは、1TortoiseNormalすべてのオーバーレイ間で順序付けされたときにランクを高くする簡単な方法です。前にスペースを追加して値の名前を変更することもできます1TortoiseNormal。つまり、

" 1TortoiseNormal"

それらをより高いランクにするため。

更新: Windows 8の場合、アイコンオーバーレイの制限は15です。


35
笑。Windows 10にアップグレードしたばかりで、TortoiseGitアイコンが見つからなかったので、このスレッドを検索して見つけました... OneDriveのアイコンはデフォルトでスペースで始まっているため、Microsoftもおそらくこのスレッドを読んでいることがわかります!! Windows設定内からアイコンアノテーションの順序/優先度を構成できる画面を構築するだけでなく、Microsoftがそれを利用するなんてばかげています。
Stijn de Witt

20
@StijndeWitt GoogleDriveとTortoiseSVN / Gitは、アンティを上げて2つのスペースを追加したようです。私たちは正式に宇宙競争に参加しています...
icc97

15
@ icc97 LOL @ 'space race'。しかし、DropBoxはこれらのアマチュアより一歩進んでいます...彼らは3つのスペースを追加します:([....\ DropboxExt01]編集:SOはそれらを1つに折りたたんでいるようです...)
Stijn de Witt 2017

8
注意!!アイコンを表示するためにエクスプローラを再起動します。Ctrl + Shift + Escを押して「Windowsエクスプローラ」を再起動します(オプションでコンピュータを再起動します)
PhillipPDX

7
私も上でコメントしましたが、すべての大きなクラウドプロバイダー(onedrive、dropbox、google drive)がリストを動的に読み取り、自動的に適応して、次の戦争まで「勝つ」ためにスペースを誘導することをここに追加したいと思います。更新し、同じことを行います。私の鉱山は文字通りすべて少なくとも5つの先行スペースを持っています!! また、Vista以降では15です。
Collin Chaffin 2017

40

Windows 10ソリューションのステップ。

  1. regeditを開く

道 :

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

  1. すべてのSkyDrive / OneDriveキーを削除/削除します。キーを削除しようとしたときにエラーが発生した場合は、キーの所有権を1つずつ取得し、ユーザーに完全な制御権を与える必要がある場合があります。

  2. Ctrl + Shift + Escを押して「Windowsエクスプローラ」を再起動します(オプションでコンピュータを再起動します)

  3. すべてのgit / svnオーバーレイアイコンが表示されます。


これでうまくいきます。Windowsエクスプローラーで許可されるアイコンオーバーレイの数には制限があるようです。
Yodacheese

6
なんらかの理由でOneDriveキーを削除できませんでした。Tortoiseのキーの先頭に3つのスペースを追加して再起動すると、再び機能しました。
NickH

1
OneDriveは、次回の再ログイン時にキーを元に戻します。
Mike Lowery

2
既存のキーを削除する代わりに、すべてのTortoiseキーの前に2つ以上のスペースを追加できます。同じ効果があります-そしてあなたは宇宙競争に参加させましょう!
コーパスギガンタス

28

気が狂う前に、再起動してみてください!それは私のために働きました;)


8
正直言って、私は実際にそれを試さなかったと思いますか?実際に、私は私がステップ2でコンピュータを再起動することを書いた
5xum

14
反対票は不当です。私の答えは、私が問題を経験したときに私と同じようにこのページにアクセスした他の人のためにでした。PCを再起動する前に、問題が何であるかを理解するために、1/2時間無駄にしていたに違いありません。これでうまくいかなかったことを感謝しますが、他の人にはうまくいくかもしれません。
Jan

3
私のために働いた...より複雑な解決策を試みる前の最初のステップとして、チェックリストに入れることは間違いなく価値があります。
Tony O'Hagan、2015年

4
これも私を助けました。アイコンオーバーレイがexplorerプロセスに関連付けられていることは知っていました。TortoiseSVNを使用すると、explorerプロセス(アクティブウィンドウではなくメインウィンドウ)を単に終了して再起動するだけで再起動を回避できました。TortoiseGitについても同じことを行いましたが、それだけでは不十分でした。再起動が役立ちました。
スラブ

1
私はこれを含むすべての回答を読んだ後、Windowsエクスプローラーを再起動するだけを選びました(@replicantspyの回答で述べたCtrl + Shift + Asc-then-restart-processアプローチを使用しました)。それは私のために働いた!したがって、この回答の+1はかなり公平です。:) Tks!
Luiz Vieira 2016

16

このRegeditアダーセスの最初の亀の名前オプションに1つのスペース(または必要に応じてそれ以上)を追加するだけです。

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

例えば:

"1TortoiseNormal"

変更する必要があります:

" 1TortoiseNormal"

システムrebootアイコンが正しく表示された後。


4

TortoiseSVN(1.9.5)とmsysgit(2.11.0)を最初にWindows 10 64ビットマシンにインストールしました。TortoiseSVNアイコンは正常に表示されました。

これら2つの後に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
    • 新しい文字列値「Max Cached Icons」を値「2000」で追加します

閉じた/再起動したエクスプローラーとアイコンが表示されます!


1
これが私にとって最も簡単、最速、そして最良の解決策であることがわかりました(Windows 10)。
ティンボ

3

TortoiseSVNをアンインストールした後、今日も同じ問題が発生しました。再起動してもまだうまくいかないので、コントロールパネルに移動してプログラムをアンインストールし、TortoiseGitアイテムで[修復]を選択すると、すべてが正常に戻ります。Tortoiseのすべてのアプリには、いくつかの共有レジストリキーなどがあると思います。


3

TortoiseGITシェルアイコンが突然表示されなくなることもありました。その原因を正確には覚えていませんが、これを見つけて、レジストリを1TortioiseNormalを "1TortioiseNormal"などに変更してみました。アイコンオーバーレイが機能していなくても、それはおそらく良いことです。

「一部のサービスプロセスは再起動する必要がありますが、見つけることができないので再起動するだけです」という私が言う「コンピューターを再起動する」という包括的な答えには忙しすぎます。いや。

私はTortoiseSVNも使用していますが、これらのアイコンオーバーレイはまだ機能しています。タスクマネージャーの[プロセス]タブを見ると、TSVNCache.exeと呼ばれるものが実行されていることがわかりました。gitにも同様の兆候はないので、気まぐれに[アプリケーション]タブに移動して[新しいタスク]をクリックし、TGITCache.exeを入力して、そのプロセスが起動したことを確認します。そこからプロセスに戻り、explorer.exeを終了してから、アプリケーション->新しいタスクに戻り、explorer.exeを起動します。

TortoiseGITのアイコンオーバーレイが終了したとき、これは2度うまくいったので、おそらく他の誰かでもうまくいくでしょう。


2

私にとってうまくいったのは、コンピューターからGoogleドライブをアンインストールすることでした。理由はまだわかりません。


上記の私のコメントを参照してください。ハードコード化された15のオーバーレイの制限があり、GoogleドライブはOnedrive、Dropboxなどと同様にいくつかを使用します。Torroiseは、10のように単独で使用するとさらに悪いものの1つです。Googleドライブを削除すると、オーバーレイレジストリキーが削除され、15の「空き」が残って、最終的に亀のアイコンが表示されます。
Collin Chaffin 2017

2

私はChi Chanに同意します。これを補足的な回答として追加したいと思います。

Dropbox Explorerのアイコンです。これらを削除するレジストリスクリプトを次に示します。彼らは戻ってくるので、どこかに保存してください!

値も時々変化することに注意してください。現在、「DropboxExtXX」の前に3つのスペースがあり、1つしかありませんでした。

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がレジストリに別のスペースを追加し、常に1つ先に進むことです。

したがって、この記事(Christoph Zwerschkeによる)にあるpythonスクリプトを、コンピューターが起動するたびに実行するようにスケジュールしました。その後、エクスプローラーを再起動する必要もあります。

.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. 赤いアイコンが見えなくてもランダムにコミットする
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.