如何从 Documents 的菜单上下文中删除 git?

How to remove git from menu context in Documents?

我有一个小问题:如何从我的文档目录的菜单上下文中删除“git bash here”和“git gui here”?

我试过:

  1. 使用未选中的选项重新安装 Git-2.15.0-64 位。
  2. 正在删除密钥:
[-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 中没有 git_gui 和 git_shell。

删除密钥给了我一个很好的结果 -> Git 没有出现在我的大部分目录中,但它仍然出现在我的文档中(我的所有项目从 NetBeans 到 Android 工作室).

有没有人有类似的问题?有人可以帮忙吗?

首先,您需要清除注册表中不需要的上下文菜单项,如“How to Clean Up Your Messy Windows Context Menu”中所述。
通常在:

HKEY_CLASSES_ROOT\Directory\shell
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers

然后您需要确保安装 Git for Windows with the Portable self-extracting archive: PortableGit-2.15.0-64-bit.7z.exe
一旦提取到任何你想要的文件夹中,你可以将所述文件夹添加到你的 %PATH%,你将能够使用 Git,而无需任何额外的上下文菜单条目。

我想我找到了关于它的其他参考资料。我在

上删除了我的
HKEY_CLASSES_ROOT\LibraryFolder\background\shell

基于,很简单,没想过。你应该看到这样的。

由此而来

为此。有用。

备注
对于 Windows 10,可能还有 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell and/or HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell 中的键,您也可能需要删除这些键。

您需要删除这些键:

HKEY_CLASSES_ROOT\Directory\shell\git_gui

HKEY_CLASSES_ROOT\Directory\shell\git_shell

HKEY_CLASSES_ROOT\LibraryFolder\background\shell\git_gui

HKEY_CLASSES_ROOT\LibraryFolder\background\shell\git_shell

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell

这适用于 Windows 10.1803 和 Git 2.25.0(YMMV 与其他 Windows/Git 版本)。

您可以 运行 使用 PowerShell 来简化和自动化。由于您必须从 HKLM 中删除密钥,因此它必须 运行 具有提升的权限。如果要将其保存在 PS1 脚本中,请使用“#Requires -RunAsAdministrator”。

#Requires -RunAsAdministrator
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT -ErrorAction SilentlyContinue

$path = "HKLM:\SOFTWARE\Classes\Directory\background\shell\git*
HKLM:\SOFTWARE\Classes\Directory\shell\git*
HKLM:\SOFTWARE\Classes\LibraryFolder\background\shell\git*
HKCR:\Directory\Background\shell\git*
HKCR:\Directory\shell\git*
HKCR:\LibraryFolder\background\shell\git*" -split '\n'

Remove-Item -Confirm:$false -Recurse -Path $path

我个人更喜欢非破坏性的方法来解决问题,因为这样更容易逆转。这是一种这样的方法:

  • 打开regedit.exe
  • 找到钥匙
    HKEY_CLASSES_ROOT\Directory\shell\git_shell
    
  • 添加一个名为 HideBasedOnVelocityId
  • 的新 DWORD (32-bit Value)
  • 为其赋值 006698a6(十六进制)

重复此过程:

  • HKEY_CLASSES_ROOT\Directory\shell\git_gui
    
  • HKEY_CLASSES_ROOT\LibraryFolder\background\shell\git_shell
    
  • HKEY_CLASSES_ROOT\LibraryFolder\background\shell\git_gui
    
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell
    
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui
    

它应该从上下文菜单中消失。

根据 Windows 版本,您的注册表中有这些文件夹:

HKEY_CLASSES_ROOT\Directory\shell\git_gui
HKEY_CLASSES_ROOT\Directory\shell\git_shell
HKEY_CLASSES_ROOT\LibraryFolder\background\shell\git_gui
HKEY_CLASSES_ROOT\LibraryFolder\background\shell\git_shell
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell

转到每个文件夹并创建名称为 LegacyDisable 的新字符串值,这将立即解决问题。如果您想还原更改,只需删除该字符串即可。

这是带有详细信息的图片: LegacyDisable