web-dev-qa-db-ja.com

TortoiseGitにアイコンオーバーレイが表示されない

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

その時から(そして、私はnot記述されたインシデントがそれと何か関係があるかどうかを確信しています)、TortoiseGitはエクスプローラーでのアイコンオーバーレイの表示を停止しました。ただし、この動作は、ここに質問を投稿した他のユーザーとは異なります。

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

ここに私が試したもののリストがあります:

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

編集:

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

今のところ何も役に立たない。何か案は?

119
5xum

私は同じ問題を抱えていたので、フォーラムからの指示に従って動作するようになりました。私がしたことはこれでした(コピーされました):

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

1TortoiseNormalなどで...私はDropboxを見て、問題を理解しました。それはregeditで動作し、Dropboxへのサイン("")がありましたが、カメではありませんでした。だから私は標識を追加し、Explorer.exeを閉じて、それが良かったと思っています:)

それで、キーの名前を1TortioiseNormalから"1TortioiseNormal"などに変更しました。二重引用符で囲むと、再び機能するようになる理由がわかりません。

元のフォーラムはなくなりましたが、コメントで 概要 が提供されています。

116
Chi Chan

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"

ランクを上げるために。

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

86
Dzhuang

Windows 10ソリューションの手順;

  1. Regeditを開く

パス:

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

  1. すべてのSkyDrive/OneDriveキーを削除/削除します。キーを削除しようとしてエラーが発生した場合は、キーの所有権を1つずつ取得し、ユーザーにフルコントロールを与える必要があります。

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

  3. すべてのgit/svnオーバーレイアイコンが表示されるようになりました!

35
replicantspy

気を付ける前に、再起動してみてください!それは私のために働いた;)

22
Jan Hettich

このregedit adderssesの最初のName of Tortoiseオプションに1つのスペース(または必要に応じてそれ以上)を追加するだけです。

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

例えば:

"1TortoiseNormal"

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

" 1TortoiseNormal"

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

13

TortoiseSVNをアンインストールした後、今日この同じ問題が発生しました。再起動してもまだ運がなかったのでコントロールパネル、プログラムのアンインストール、TortoiseGitの項目で「修復」を選択しましたになり、すべてが正常に戻りました。 Tortoiseのすべてのアプリには、共有レジストリキーなどが含まれていると思われます。

3
Richard Edwards

また、TortoiseGIT Shellアイコンが突然表示されなくなりました。その原因を正確に思い出せませんが、これを見つけて1TortioiseNormalを「1TortioiseNormal」に変更するなどのレジストリを試しました。これは、アイコンオーバーレイがまだ機能していなかったとしても、おそらく良いことです。

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

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

TortoiseGITアイコンオーバーレイが終了したときに、これが2回機能するようになりました。

3
arudlang

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

これら2つの後にTortoiseGit(2.3.0.0)をインストールすると、アイコンが表示されません。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersをチェックしましたが、すべて正常に見えました。亀のアイコンはトップ10にありました。

私が修正に使用したものは GitLabのTortoiseGit issue#692

  • regedit.exe を開きます。
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorerに移動します
    • 値「2000」の新しい文字列値「Max Cached Icons」を追加します

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

3
icc97

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

2
Darien Pardinas

私にとってWindows 10で働いているのは

  1. tortoiseGitのアンインストール
  2. フォルダーのクリーニングと登録
  3. もう一度インストールする
  4. コンピューターの再起動
  5. 赤いアイコンが表示されなくてもランダムにコミットする
1
Roman

まあ、私は明らかなステップを逃したと思う...

TortoiseGitの設定>アイコンオーバーレイ:

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

1
sel-en-ium

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

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

値も時々変化することに注意してください。現在、 "DropboxExtXX"の前に1つだけある前に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
bytecode77

主要なスペースの問題は、再起動するたびにDropboxがレジストリに別のスペースを追加し、常に一歩先を行くことです。

そこで、この post (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
mathiasfk

ずっと前に、レジストリを編集してアイコンオーバーレイの問題を解決しようとしました:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersまたはHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersが、OneDriveまたはDropboxが更新されるたびに、レジストリにスペースが追加されます。ただし、問題は解決されました。

TortoiseGit設定>アイコンオーバーレイ>(ステータスキャッシュ)シェル拡張 enter image description here

今のところ、OneDriveとDropboxはShellIconOverlayIdentifiersリストの一番上にありますが、すべてのTortoiseアイコンオーバーレイは正しく表示されます

1
mr NAE