TortoiseGit tidak menampilkan overlay ikon

133

Saya telah menggunakan TortoiseGithampir setahun penuh sekarang. Itu telah bekerja dengan baik untuk saya sampai kemarin, ketika saya menemui masalah. Saya menghapus folder ketika Windows Explorer menabrak saya (itu tergantung pada "menemukan item") selama lebih dari satu jam, kemudian saya me-restart sistem.

Sejak saat itu (dan saya tidak yakin apakah insiden yang dijelaskan ada hubungannya dengan itu), TortoiseGit telah berhenti menampilkan overlay ikon di explorer. Perilaku ini, bagaimanapun, tidak seperti yang lain yang memposting pertanyaan di sini, karena:

Dalam open filedialog semua program, ikon masih ada (!).

Berikut adalah daftar hal yang saya coba:

  1. Saya mengubah pengaturan TortoiseGit untuk menampilkan ikon yang berbeda.
  2. Instal ulang TortoiseGit (uninstall, restart, instal, restart).
  3. Saya menghapus semua overlay ikon yang dimulai dengan "Tortoise" di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, lalu menghapus TortoiseGit, menyalakan kembali komputer dan menginstal ulang TortoiseGit.

Edit:

Saya mencoba membuat pengguna baru di komputer saya, dan pengguna baru memiliki ikon overlay yang berfungsi dengan baik. Saya sekarang semakin bingung.

Sejauh ini tidak ada yang membantu. Ada ide?

5xum
sumber
Apakah Anda sudah menginstal TortoiseSVN?
mozgow
@mozgow Tidak, hanya TortoiseGit
5xum
5
Hal yang sama terjadi pada saya. Milik saya terjadi karena saya memasang "Dropbox" di mesin saya. Dropbox juga menggunakan IconOverlays, dan peringkatnya lebih tinggi dalam daftar daripada TortoiseGit. Dan karena Anda hanya dapat memiliki 15, Anda mungkin tidak melihat mereka karena alasan itu. Milik saya mulai dalam daftar dari 19-28, maka alasan saya untuk tidak melihat mereka. Gunakan saran Dzhuang di bawah ini untuk melihat di mana peringkat Overlay Anda dalam daftar.
Chad
Kemungkinan duplikat Overlay Ikon TortoiseGit tidak muncul
MrTux
@MrTux Saya ingin tahu bagaimana Anda menganggap pertanyaan yang diajukan 6 Agustus 2014 sebagai duplikat dari pertanyaan yang diajukan 11 Januari 2017 (yaitu, lebih dari 2 tahun kemudian ).
5xum

Jawaban:

130

Saya memiliki masalah yang sama dan saya membuatnya bekerja dengan mengikuti instruksi dari forum. Apa yang saya lakukan adalah ini (disalin):

Saya menemukan solusi :) Membungkus dengan ""semua kunci kura-kura di bawah HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

pada 1TortoiseNormaldan dll ... saya mengerti masalah, mengingat Dropbox dan bekerja regedit ada tanda ( "") untuk Dropbox tetapi tidak kura-kura. Jadi saya menambahkan tanda-tanda, tutup explorer.exe dan hop itu bagus :)

Jadi apa yang saya lakukan adalah mengganti nama kunci 1TortoiseNormaluntuk "1TortoiseNormal"dll. Saya tidak tahu mengapa membungkusnya dengan tanda kutip ganda membuatnya bekerja lagi.

Forum orisinal sudah tidak ada, tetapi ringkasan yang bagus diberikan dalam komentar.

Chi Chan
sumber
33
Ini mungkin masalah penyortiran. Karakter kutipan ganda adalah salah satu karakter yang dapat dicetak pertama, jadi "DropboxExt1" hadir sebelum 1TortoiseNormal, tetapi "1TortoiseNormal" muncul sebelum "DropboxExt1". Saya juga mencoba menghapus penawaran ganda dari kunci Dropbox dan itu berhasil.
user34814
5
Belajar sesuatu dari entri Skype. Alih-alih membungkusnya di sekitar "" (tanda kutip ganda) cukup tambahkan spasi di awal entri. Jadi entri akan menjadi <spasi-char> 1TortoiseNormal dan lain-lain ... Akhirnya masalah pengurutan :) sepertinya.
Pratham
5
Saya juga memiliki masalah yang sama setelah menginstal dropbox. Saya menemukan alasan / solusinya di blog ini jelas, namun setelah mengganti nama kunci kura-kura mereka tampaknya tidak menggunakan bagian atas daftar .. Butuh beberapa saat untuk menyadari bahwa kunci dropbox memiliki ruang di depan .. jadi saya mengganti nama kura-kura menjadi <spasi> 1TortoiseNormal, dll. BLOG: blog.garethjmsaunders.co.uk/2015/03/22/…
user1420372
10
@CodyStott Ternyata MS sekarang melakukan hal yang sama ... Ikon OneDrive mulai dengan spasi juga ... Dalam 10 tahun setelah semua perusahaan mengetahui trik ini, semua nama kunci akan mulai dengan puluhan ruang ...: p
Stijn de Witt
30
UPDATE: Dropbox sekarang juga menambahkan 3 spasi di depan ... MS tolong perhatikan (Anda sudah melakukannya karena OneDrive menggunakan trik ini) dan mengambil tindakan . Ini benar-benar menyebalkan. Dan ada apa dengan maksimum ikon 11/15 ini? Ini 2017?!? Saya tidak perlu perbaikan UI lagi ... Saya perlu hal-hal seperti ini untuk diperbaiki dalam waktu kurang dari 2 dekade!
Stijn de Witt
102

Windows hanya akan mengizinkan hingga 11 pengidentifikasi overlay ikon, disusun dalam urutan alfanumerik - jika ada lebih dari 11, ikon ini tidak akan ditampilkan.

Anda dapat menjalankan perintah berikut dalam prompt DOS:

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

Kemudian buka file tersebut C:\icons.txt. Lewati dua baris pertama, dan jika 1TortoiseNormaldan nilai- *Tortoise*nilai lainnya tidak dalam nilai 11 teratas, overlay ikonnya tidak akan ditampilkan. Solusi yang disediakan oleh @Chi Chan hanyalah cara sederhana untuk membuat 1TortoiseNormalperingkat lebih tinggi ketika dipesan di antara semua overlay, Anda juga dapat mengubah nama nilai dengan menambahkan spasi sebelumnya 1TortoiseNormal, yaitu,

" 1TortoiseNormal"

untuk membuat mereka peringkat lebih tinggi.

pembaruan: untuk Windows 8, batas overlay ikon adalah 15.

Dzhuang
sumber
35
LOL. Jadi saya hanya memutakhirkan ke Windows 10 dan ikon TortoiseGit saya hilang jadi saya mencari dan menemukan utas ini ... Ternyata Microsoft mungkin juga membaca utas ini karena ikon OneDrive memulai dengan spasi secara default !! Betapa konyolnya Microsoft bahwa mereka harus menggunakan itu ... alih-alih hanya membangun layar yang memungkinkan kita mengkonfigurasi urutan / prioritas anotasi ikon dari dalam pengaturan Windows.
Stijn de Witt
20
@StijndeWitt GoogleDrive dan TortoiseSVN / Git sekarang tampaknya telah menaikkan taruhan dan menambahkan 2 spasi. Kami secara resmi dalam perlombaan luar angkasa sekarang ...
icc97
15
@ icc97 LOL @ 'perlombaan ruang'. Tapi DropBox selangkah lebih maju dari para amatir ini ... mereka menambahkan 3 spasi: [....\ DropboxExt01](sunting: SO mengelompokkannya menjadi 1 sepertinya ...)
Stijn de Witt
8
CATATAN!! Mulai ulang Windows Explorer untuk menampilkan ikon. Tekan Ctrl + Shift + Esc dan mulai ulang "Windows Explorer" (opsional nyalakan kembali komputer)
PhillipPDX
7
Saya hanya berkomentar di atas juga tetapi ingin menambahkan di sini bahwa semua penyedia cloud besar (onedrive, dropbox, google drive) sekarang SECARA DINAMIS membaca daftar dan akan SECARA OTOMATIS MENYESUAIKAN dan memiringkan ruang untuk "memenangkan" perang .... sampai yang berikutnya pembaruan dan melakukan hal yang sama. Milik saya sekarang memiliki setidaknya semua LIMA ruang terkemuka !! Juga, 15 dari Vista dan yang lebih baru.
Collin Chaffin
40

Langkah-langkah Solusi Windows 10;

  1. Buka regedit

Path:

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

  1. Hapus / hapus semua kunci SkyDrive / OneDrive. Anda mungkin perlu mengambil kepemilikan kunci satu per satu dan memberikan kontrol penuh kepada pengguna Anda jika Anda menerima kesalahan saat mencoba menghapus kunci.

  2. Tekan Ctrl + Shift + Esc dan restart "Windows Explorer" (opsional restart komputer)

  3. Semua ikon overlay git / svn sekarang dapat dilihat!

replicantspy
sumber
Ini bekerja untuk saya. Tampaknya ada batas jumlah ikon overlay yang diizinkan pada windows explorer.
Yodache
6
Untuk alasan apa pun saya tidak bisa menghapus kunci OneDrive. Saya baru saja menambahkan tiga spasi pada awal kunci Tortoise, reboot dan itu berhasil lagi.
NickH
1
OneDrive mengembalikan kunci di waktu berikutnya Anda melakukan relog.
Mike Lowery
2
Alih-alih menghapus kunci yang ada, Anda bisa menambahkan dua (atau lebih) spasi di depan semua tombol Tortoise . Akan memiliki efek yang sama - dan membiarkan Anda bergabung dalam perlombaan luar angkasa!
Corpus Gigantus
28

Sebelum menjadi gila, coba reboot! Ini bekerja untuk saya;)

Jan Hettich
sumber
8
Jujur, apakah Anda benar-benar berpikir saya tidak mencobanya? Bahkan, saya menulis bahwa saya
me-
14
Suara turun tidak beralasan. Jawaban saya adalah untuk kepentingan orang lain yang datang ke halaman ini seperti saya, ketika saya mengalami masalah. Saya harus membuang 1/2 jam untuk mencari tahu apa masalahnya, sebelum hanya me-reboot PC saya. Saya menghargai bahwa ini tidak berhasil untuk Anda, tetapi mungkin berhasil untuk orang lain.
Jan Hettich
3
Berfungsi untuk saya ... Pasti ada dalam daftar periksa sebagai langkah pertama sebelum mencoba solusi yang lebih kompleks.
Tony O'Hagan
4
Ini membantu saya juga. Saya tahu overlay ikon terkait dengan explorerproses, dan dengan TortoiseSVN dimungkinkan untuk hanya membunuh dan memulai ulang explorerproses (bukan jendela aktif, tetapi yang utama) untuk menghindari memulai kembali. Saya melakukan hal yang sama untuk TortoiseGit, tetapi itu tidak cukup. Restart membantu.
Slav
1
Saya membaca semua jawaban, termasuk yang ini, dan kemudian memilih untuk hanya me-restart Windows Explorer (saya menggunakan pendekatan Ctrl + Shift + Asc-then-restart-proses yang disebutkan pada jawaban @ replicantspy ). Itu berhasil untuk saya! Jadi, +1 untuk jawaban ini cukup adil. :) Tks!
Luiz Vieira
16

Cukup tambahkan satu Spasi (atau lebih jika perlu) ke opsi Name of Tortoise terlebih dahulu ke regedit addersses ini:

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

sebagai contoh:

"1TortoiseNormal"

Harus berubah menjadi:

" 1TortoiseNormal"

setelah rebootikon sistem muncul dengan lancar.

Amir Hossein Ghasemi
sumber
4

Saya telah menginstal TortoiseSVN (1.9.5) dan msysgit (2.11.0) pertama pada mesin Windows 10 64-bit saya. Ikon TortoiseSVN ditampilkan dengan baik.

Ketika saya menginstal TortoiseGit (2.3.0.0) setelah kedua ikon ini tidak akan ditampilkan.

Saya memeriksa HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersdan semua tampak baik-baik saja. Ikon kura-kura berada di 10 besar.

Apa yang saya gunakan untuk memperbaiki dibesarkan dalam masalah TortoiseGit # 692 di GitLab :

  • Buka regedit.exe
    • Pergi ke HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Tambahkan nilai string baru "Max Cached Icons" dengan nilai "2000"

explorer yang ditutup / dimulai ulang dan ikon ditampilkan!

icc97
sumber
1
Saya menemukan ini sebagai solusi termudah, tercepat dan terbaik bagi saya (Windows 10).
timbo
3

Saya memiliki masalah yang sama hari ini setelah mencopot pemasangan TortoiseSVN. Saya reboot dan masih tidak berhasil, jadi saya masuk ke Control Panel, Uninstall Program dan pada item TortoiseGit saya memilih 'Repair' dan semuanya kembali normal. Saya menduga bahwa semua aplikasi Tortoise memiliki beberapa kunci registri bersama atau sesuatu.

Richard Edwards
sumber
3

Saya juga memiliki ikon shell TortoiseGIT saya berhenti menampilkan tiba-tiba, saya tidak ingat persis apa yang menyebabkannya tetapi saya menemukan ini dan mencoba hal-hal registri mengubah 1TortioiseNormal menjadi "1TortioiseNormal" dan seterusnya. Itu mungkin merupakan hal yang baik untuk dilakukan tidak peduli apa tetapi overlay ikon masih tidak berfungsi.

Saya terlalu sibuk untuk jawaban "me-restart komputer" yang mengatakan kepada saya adalah "beberapa proses layanan perlu di-restart tetapi Anda tidak akan pernah bisa menemukannya jadi restart saja." Tidak

Saya juga menggunakan TortoiseSVN dan overlay ikon itu masih berfungsi untuk saya. Saya melihat di tab proses saya dari task manager dan melihat saya memiliki sesuatu yang disebut TSVNCache.exe berjalan. Tidak ada tanda-tanda yang mirip dengan git, jadi sambil iseng saya pergi ke tab aplikasi dan menekan "Tugas Baru", masuk ke TGITCache.exe dan cukup yakin bahwa proses tersebut menyala. Dari sana kembali ke proses, bunuh explorer.exe, lalu kembali ke aplikasi -> New Task lagi dan jalankan explorer.exe.

Ini telah berfungsi untuk saya dua kali sekarang ketika overlay ikon TortoiseGIT saya telah berhenti, jadi, mungkin itu akan bekerja untuk orang lain

arudlang
sumber
2

Yang berhasil bagi saya adalah mencopot pemasangan Google Drive dari komputer saya. Belum yakin kenapa.

Darien Pardinas
sumber
Lihat komentar saya di atas. Ada batas kode keras 15 overlay dan Google Drive menggunakan beberapa seperti halnya Onedrive, dropbox, dan lainnya. Torroise adalah salah satu yang lebih buruk menggunakan seperti 10 dengan sendirinya menyisakan hampir tidak ada untuk yang lain. Dengan menghapus Google Drive, Anda cukup menghapusnya, kunci reg overlay-nya menyisakan cukup "bebas" dari 15 drive untuk akhirnya melihat ikon Tortoise.
Collin Chaffin
2

Saya Setuju dengan Chi Chan dan saya ingin menambahkan ini sebagai jawaban pelengkap.

Itu adalah ikon Dropbox Explorer. Berikut ini adalah skrip registri untuk menghapusnya. Simpan di suatu tempat, karena mereka akan kembali!

Perhatikan, bahwa nilainya juga berubah dari waktu ke waktu. Saat ini mereka memiliki 3 ruang sebelum "DropboxExtXX", sebelum mereka hanya punya satu.

Hapus 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]
bytecode77
sumber
1

Masalah dengan ruang utama adalah bahwa setiap kali Anda reboot, Dropbox menambahkan ruang lain pada pendaftarnya, dan akan selalu selangkah lebih maju dari Anda.

Jadi saya telah menjadwalkan skrip python yang ditemukan pada posting ini (oleh Christoph Zwerschke) untuk dieksekusi setiap kali komputer melakukan boot. Anda juga harus memulai ulang Explorer setelah itu.

Bat akan terlihat seperti:

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

Dan skrip 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')
mathiasfk
sumber
1

Apa yang bekerja untuk saya untuk Windows 10 adalah

  1. menghapus instalan TortoiseGit
  2. membersihkan folder dan mendaftar
  3. menginstalnya sekali lagi
  4. me-reboot komputer
  5. membuat komit acak bahkan tidak melihat ikon merah
Roma
sumber