Como removo as opções de menu do botão direito do msysgit?

346

Esta não é a melhor questão de programação, mas vamos encarar a questão: os caras com falha no servidor não são bem versados ​​no git, então acho que é mais voltado para esse público.

Quero mudar para o TortoiseGit, ou PortableGit no meu shell, mas fiquei com essas opções irritantes do menu de contexto.

Como faço para que eles desapareçam? Preciso escrever um script para desinstalá-los?

DevelopingChris
fonte
Uma resposta excluída do OP referenciou esse URL como contendo uma solução.
halfer

Respostas:

623

Windows de 64 bits

Em uma janela do cmd.exe, execute estes comandos:

cd "C: \ Arquivos de Programas (x86) \ Git \ git-cheetah"
regsvr32 / u git_shell_ext64.dll

Windows de 32 bits

Em uma janela do cmd.exe, execute estes comandos

cd "C: \ Arquivos de Programas \ Git \ git-cheetah"
regsvr32 / u git_shell_ext.dll

Windows 10

Se você estiver no Windows 10 e os métodos anteriores não funcionarem, tente desinstalar o aplicativo e reinstalá-lo. Mas tenha cuidado durante o processo de instalação, desmarcando a integração do Windows Explorer

insira a descrição da imagem aqui

mpmeyer
fonte
9
Arquivo é git_shell_ext64.dll para um SO de 64 bits, como o Windows 7 tende a ser
Matt
2
Para versões mais recentes do GitExtentions, siga as instruções aqui
The Scrum Meister
3
Obrigado pela observação, @TheScrumMeister, embora qualquer leitor disso também deva se lembrar de que GitExtensions não é um git-cheetah.
JayC
2
Eu só preciso de um menu único listado como GIT >>, que se expande para fornecer o menu filho que está atualmente no meu manipulador de botão direito do mouse .. como posso fazer isso?
Shankar Regmi
11
Não consigo encontrar nenhum arquivo .dll com "shell" no nome na minha pasta Git. No entanto, remover o valor do regedit funcionou para mim.
Liggliluff
88

Somente essa remoção do registro - nada mais - funcionou para mim no Win8.1, nas versões recentes:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\background\shell\git_gui]

[-HKEY_CLASSES_ROOT\Directory\background\shell\git_shell]

[-HKEY_CLASSES_ROOT\Directory\Shell\git_gui]

[-HKEY_CLASSES_ROOT\Directory\Shell\git_shell]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_gui]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell]
dfkt
fonte
11
Em um caso estranho na vitória 7, também esta foi a única solução que funcionou.
Musa Haidari 30/03
Isso funcionou muito bem para mim no Windows 7, obrigado @dfkt!
Jay Taylor
Funciona no Windows 10.
Stanojkovic
11
Instalei o Git usando o Chocolatey; portanto, ocorreu uma instalação silenciosa e ativei as extensões do shell por padrão. Esta foi a solução para mim. Nota: Eu só consegui encontrar as chaves Reg para "HKEY_CLASSES_ROOT \ Directory *"; os outros não pareciam existir.
9309 Christopher Bull
No win10 (e talvez outros), você não precisa reiniciar ou re-login para alterações para refletir
Kyle
39

Você também pode desativar entradas únicas usando o CCleaner.

insira a descrição da imagem aqui

Agostino
fonte
11
Mesmo depois de desativar as opções de menu de contexto em ccleaner, as opções do menu de contexto ainda estão lá para mim ...
hexicle
@hexicle para mim funcionou após o reinício do explorer.exeprocesso
Vlad Sabev
20

Quando você instala o msysgit, existe uma opção para "Integração com o Windows Explorer" que você desmarca para não aparecer.

Você pode executar novamente a instalação e desmarcar a opção ou desinstalar e reinstalar e desmarcar a opção.

Alex Moore
fonte
7
O que você gostaria, uma marca de letreiro?
Alex Moore
infelizmente isso não era uma opção quando foi instalado, então acho que estou sem sorte.
DevelopingChris
Eu sei que é uma opção na versão mais recente, 1.7.0.2-preview20100309. Deve ser a quarta tela de configuração, logo após escolher o diretório de instalação.
Alex Moore
@ Tem quase o mesmo. Ele provavelmente atualizará o msysgit em algum momento. Por que invadir o registro com alterações que você provavelmente esquecerá?
Alex Moore
9
Sem desinstalar, desmarcar a opção fornece um aviso sobre NÃO desinstalar a opção na v 1.8.0, FYI. Isso ocorre 2 anos após a resposta, portanto não há voto negativo, porque pode não ter sido assim.
CAD bloke
9

No Windows 10, nenhuma das opções acima funcionou para mim. A melhor solução que encontrei é desinstalar o aplicativo, reinstalá-lo e ter cuidado durante o processo de instalação para desmarcar a integração do Windows Explorer

remover git remover clique nas opções de menu

Abdalla Mohamed Aly Ibrahim
fonte
2
Posso confirmar que a resposta aceita funciona no Windows 10 x64.
ZorleQ 19/09/15
+1 Essa foi a única coisa que funcionou para mim em uma das minhas máquinas com Windows 10. Dito isto, a resposta aceita funcionou em outra.
user1843640
11
O mesmo aqui (Win10 x64). Tem que desinstalar e instalar novamente.
AlbertoFdzM 27/01
Também é isso que funcionou para mim. (Win10 x64). Teve que desinstalá-lo e instalar novamente.
Tawani
7

Eu tive um problema semelhante e toda a resposta acima não funciona para mim. ENTÃO Finalmente encontrei uma solução nas etapas abaixo.

Etapa 1: Digite o regeditmenu Iniciar

Etapa 2: Execute o Editor do Registro

Etapa 3: Navegue paraHKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell

Etapa 4: clique em "shell"

Etapa 5: clique com o botão direito do mouse em "Git Bash Here" e escolha a opção de exclusão

Felicidades

Lavekush Agrawal
fonte
11
Isso funcionou para mim. Provavelmente porque o meu git está instalado para o usuário, e não em todo o sistema.
Rafee #
3

Para adicionar ao que o dfkt disse, há mais um local para as Pastas da Biblioteca:

HKEY_USERS\S-1-5-21-2901758233-4091616725-3820123586-1012\Software\Classes\LibraryFolder\background\shell\git_gui
HKEY_USERS\S-1-5-21-2901758233-4091616725-3820123586-1012\Software\Classes\LibraryFolder\background\shell\git_shell

Esse número específico entre HKEY_USERS e Software provavelmente varia de pessoa para pessoa e de conta para conta, portanto, verifique se é adequado para você.

Portanto, a remoção completa e modificada do registro seria:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\background\shell\git_gui]

[-HKEY_CLASSES_ROOT\Directory\background\shell\git_shell]

[-HKEY_CLASSES_ROOT\Directory\Shell\git_gui]

[-HKEY_CLASSES_ROOT\Directory\Shell\git_shell]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_gui]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell]

[-HKEY_USERS\S-1-5-21-2901758233-4091616725-3820123586-1012\Software\Classes\LibraryFolder\background\shell\git_gui]

[-HKEY_USERS\S-1-5-21-2901758233-4091616725-3820123586-1012\Software\Classes\LibraryFolder\background\shell\git_shell]
F-Lambda
fonte
1

No Windows 10 de 64 bits, você precisa fazer o seguinte:


1. Excluir entradas do registro

HKEY_CLASSES_ROOT \ Directory \ background \ shell \ git_gui

HKEY_CLASSES_ROOT \ Directory \ background \ shell \ git_shell

HKEY_CLASSES_ROOT \ Directory \ Shell \ git_gui

HKEY_CLASSES_ROOT \ Directory \ Shell \ git_shell

Por conveniência ou se você deseja automatizar a remoção (por exemplo, para usar após a atualização do choco), você pode executar no Powershell (executar como Admin):

New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null
Remove-Item -Path "HKCR:\Directory\shell\git_gui" -Recurse
Remove-Item -Path "HKCR:\Directory\shell\git_shell" -Recurse
Remove-Item -Path "HKCR:\Directory\Background\shell\git_gui" -Recurse
Remove-Item -Path "HKCR:\Directory\Background\shell\git_shell" -Recurse


2. Cancele o registro da DLL de extensões do shell para remover entradas de menu adicionais (clone do GitExt ..., GitExt Create New Repository, etc.):

regsvr32 /u "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"
Ioan Agopian
fonte