Comment supprimer les options du menu contextuel de msysgit?

346

Ce n'est pas la meilleure question de programmation, mais avouons-le, les gars de faute de serveur ne sont pas bien familiarisés avec git, donc je pense que c'est plus vers ce public.

Je veux passer à TortoiseGit ou PortableGit dans mon shell, mais je me retrouve avec ces options de menu contextuel ennuyeuses.

Comment les faire partir? Dois-je écrire un script pour les désinstaller?

DevelopingChris
la source
Une réponse supprimée de l'OP a référencé cette URL comme contenant une solution.
halfer le

Réponses:

623

Windows 64 bits

À partir d'une fenêtre cmd.exe, exécutez ces commandes:

cd "C: \ Program Files (x86) \ Git \ git-cheetah"
regsvr32 / u git_shell_ext64.dll

Windows 32 bits

À partir d'une fenêtre cmd.exe, exécutez ces commandes

cd "C: \ Program Files \ Git \ git-cheetah"
regsvr32 / u git_shell_ext.dll

Windows 10

Si vous utilisez Windows 10 et que les méthodes précédentes n'ont pas fonctionné, essayez de désinstaller l'application et de la réinstaller. Mais soyez prudent lors du processus d'installation en décochant l'intégration de l'explorateur Windows

entrez la description de l'image ici

mpmeyer
la source
9
Le fichier est git_shell_ext64.dll pour un système d'exploitation 64 bits comme Windows 7 a tendance à être
Matt
2
Pour les nouvelles versions de GitExtentions, suivez les instructions ici
The Scrum Meister
3
Merci pour la note latérale, @TheScrumMeister, bien que tout lecteur de cela devrait également se rappeler que GitExtensions n'est pas git-cheetah.
JayC
2
J'ai juste besoin d'un seul menu répertorié comme GIT >> qui se développe pour donner un menu enfant qui est actuellement dans mon gestionnaire de clic droit .. comment puis-je faire cela ??
Shankar Regmi
1
Je ne trouve aucun fichier .dll avec "shell" dans le nom sous mon dossier Git. Cependant, la suppression de la valeur de regedit a fonctionné pour moi.
Liggliluff
88

Seule cette suppression du registre - rien d'autre - a fonctionné pour moi sur Win8.1, à partir des versions récentes:

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
la source
1
Sur un cas étrange sur la victoire 7, c'était aussi la seule solution qui a fonctionné.
Musa Haidari
Cela a très bien fonctionné pour moi sur Windows 7, merci @dfkt!
Jay Taylor
Fonctionne dans Win 10.
Stanojkovic
1
J'ai installé Git en utilisant Chocolatey, donc une installation silencieuse s'est produite et j'ai activé les extensions shell par défaut. C'était la solution pour moi. Remarque: je n'ai pu trouver que les clés Reg pour "HKEY_CLASSES_ROOT \ Directory *"; les autres ne semblaient pas exister.
Christopher Bull
Sur win10 (et peut-être d'autres), vous n'avez pas besoin de redémarrer ou de vous reconnecter pour que les modifications soient prises en compte
Kyle
39

Vous pouvez également désactiver des entrées uniques à l'aide de CCleaner.

entrez la description de l'image ici

Agostino
la source
1
Même après avoir désactivé les options du menu contextuel dans ccleaner, les options du menu contextuel sont toujours là pour moi ...
hexicle
@hexicle pour moi, cela a fonctionné après le redémarrage du explorer.exeprocessus
Vlad Sabev
20

Lorsque vous installez msysgit, il existe une option pour «Intégration de l'Explorateur Windows» que vous décochez pour ne pas les afficher.

Vous pouvez réexécuter la configuration et décocher l'option, ou désinstaller et réinstaller puis décochez-la ensuite.

Alex Moore
la source
7
Que voudriez-vous, une étiquette de marque?
Alex Moore
malheureusement, ce n'était pas une option quand il a été installé, donc je pense que je n'ai pas de chance là-dessus.
DevelopingChris
Je sais que c'est une option sur la dernière version, 1.7.0.2-preview20100309. Il doit s'agir du quatrième écran de configuration, juste après avoir choisi le répertoire d'installation.
Alex Moore
@hasen Presque la même chose. Il mettra probablement à jour msysgit à un moment donné, alors pourquoi pirater le registre avec des modifications que vous oublierez probablement?
Alex Moore
9
Sans désinstaller, décocher l'option vous donne un avertissement vous informant de NE PAS désinstaller l'option dans la v 1.8.0, FYI. C'est 2 ans après la réponse donc pas de downvote car il se peut que ce ne soit pas le cas à l'époque.
CAD bloke
9

Dans Windows 10, rien de ce qui précède n'a fonctionné pour moi. La meilleure solution que j'ai trouvée consiste à désinstaller l'application, à la réinstaller et à faire attention pendant le processus d'installation pour décocher l' intégration de l'explorateur Windows

supprimer git supprimer les options du menu de clic

Abdalla Mohamed Aly Ibrahim
la source
2
Je peux confirmer que la réponse acceptée fonctionne sur Windows 10 x64.
ZorleQ
+1 C'est la seule chose qui a fonctionné pour moi sur l'une de mes machines Windows 10. Cela dit, la réponse acceptée a fonctionné sur une autre.
user1843640
1
Même chose ici (Win10 x64). Vous devez le désinstaller et réinstaller.
AlbertoFdzM
C'est aussi ce qui a fonctionné pour moi. (Win10 x64). J'ai dû le désinstaller et réinstaller.
Tawani
7

J'ai eu un problème similaire et toute la réponse ci-dessus ne fonctionne pas pour moi, PUIS finalement j'ai trouvé une solution dans les étapes ci-dessous.

Étape 1: tapez regeditdans le menu Démarrer

Étape 2: exécutez l'éditeur de registre

Étape 3: accédez àHKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell

Étape 4: cliquez sur "shell"

Étape 5: Faites un clic droit sur "Git Bash Here" et choisissez l'option de suppression

À votre santé

Lavekush Agrawal
la source
1
Cela a fonctionné pour moi. Très probablement parce que mon git est installé pour l'utilisateur, plutôt qu'à l'échelle du système.
rafee
3

Pour ajouter à ce que dfkt a dit, il y a un autre emplacement qui l'a, pour les dossiers de bibliothèque:

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

Ce nombre spécifique entre HKEY_USERS et le logiciel varie probablement d'une personne à l'autre et d'un compte à l'autre, alors assurez-vous qu'il vous convient.

Ainsi, la suppression complète et modifiée du registre serait:

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
la source
1

Sous Windows 10 64 bits, vous devez effectuer les deux opérations suivantes:


1. Supprimer les entrées de registre

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

Pour plus de commodité ou si vous souhaitez automatiser la suppression (par exemple à utiliser après la mise à niveau de choco), vous pouvez exécuter dans Powershell (exécuter en tant qu'administrateur):

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. Désenregistrez les extensions du shell dll pour supprimer des entrées de menu supplémentaires (GitExt clone ..., GitExt Create New Repository, etc.):

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