如何从文档中的菜单上下文中删除 git?
Posted
技术标签:
【中文标题】如何从文档中的菜单上下文中删除 git?【英文标题】:How to remove git from menu context in Documents? 【发布时间】:2018-04-15 12:24:27 【问题描述】:我有一个小问题:如何从 Documents 目录的菜单上下文中删除“git bash here”和“git gui here”?
我试过了:
-
使用未选中的选项重新安装 Git-2.15.0-64 位。
从以下位置删除密钥:
[-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 Studio 的地方)。
有人有类似的问题吗?有人可以帮忙吗?
【问题讨论】:
这有用吗? (显然需要反过来)***.com/questions/24386657/… 这不是编程问题。试试 superuser.com 这个答案有效(对很多人来说):***.com/a/35530299/1486850 【参考方案1】:我个人更喜欢用非破坏性的方法来解决问题,因为这样更容易逆转。这是一种这样的方法:
打开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
它应该从任何地方的上下文菜单中消失。
【讨论】:
嗯。HideBasedOnVelocityId
是做什么的?这个值提供了什么?你有你发现这个的来源吗?为什么这比社区验证的公认答案更受欢迎?
@JeremyCaney 我目前正在调查HideBasedOnVelocityId
自己到底做了什么。我注意到它适用于多个上下文菜单添加。例如。我还用它从上下文菜单中删除了 VSC。至于为什么首选。我个人更喜欢一种非破坏性的方式来解决问题。让逆转变得容易得多。然而,我注意到它有一个缺陷。如果您右键单击 a 文件夹,它不会隐藏上下文菜单中的选项,但如果您在文件夹内右键单击,它会起作用。目前正在研究为什么以及如何解决它。
@JeremyCaney 我无法找到HideBasedOnVelocityId
的任何文档,所以我现在放弃了,因为我缺乏关键字/查找位置的知识。我的观点仍然存在,在删除注册表项之前,我更喜欢一种非破坏性、易于可逆的解决方案。我想出了如何在右键单击文件夹而不是文件夹内部时从上下文菜单中删除 git,并更新了我的解决方案。我的解决方案也更适用于 Windows 10。虽然原始解决方案再次建议删除关联的注册表项。
文档很不幸!不过,我想,很多注册表项的文档仍然很差。你是怎么发现这个的?我已将您评论的相关部分提升为您的答案。因为听起来你的编辑解决了你上面提到的缺陷,所以我没有包括在内。感谢您跟进此事,并在您的回答中如此谨慎。
@JeremyCaney 我在寻找从上下文菜单中删除 VSC 的方法时找到了解决方案。 link 我尝试将它应用于 Git,因为我发现的所有解决方案都只是模仿“删除这个,删除那个”,并且它有效。【参考方案2】:
您可以使用 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
【讨论】:
这就像一个魅力,正是我所需要的。我将“choco install git.install”用于 Windows“自动安装”脚本。这可以在安装后清理不需要的东西。 TRY CHOCO install git.install --params "/NoShellIntegration" 它会按照你想要的方式安装它。 哦,我不知道 choco 可以有自定义包参数。谢谢,效果很好:choco install git.install --params /NoShellIntegration
不幸的是,powershell 脚本没有为我做任何事情 :-/ 但是感谢提示 @PollusB,这非常有效!
@arberg CHOCO 的唯一问题是:升级 GIT 时它不记得参数。即使您启用 [x] useRememberedArgumentsForUpgrades。所以我的脚本在升级后仍然有意义。【参考方案3】:
您需要删除这些键:
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 版本)。
【讨论】:
谢谢,为我工作,没有 `HKEY_CLASSES_ROOT\LibraryFolder\background\shell` 他不存在。 还有HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\background\shell\git_gui
和HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\background\shell\git_shell
(对我来说)。【参考方案4】:
我想我找到了关于它的其他参考资料。我已经在
上删除了我的HKEY_CLASSES_ROOT\LibraryFolder\background\shell
基于https://***.com/a/32490883/4906348,很简单,我从来没想过。你应该看到这样的。
从此
到这个。有用。
注意
对于 Windows 10,HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell
和/或 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell
中可能还存在您可能需要删除的键。
【讨论】:
谢谢。关于当前版本(Win10 x64 上的 2.16.2.windows.1),HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell 中还有一些键(Bash 和可能的 GUI)也需要删除。 是的,没错,我认为 regedit 中的搜索功能无法正常工作,直到它错过了像这个人这样的东西! 这就是我一直在寻找的答案!谢谢! 我在这里也找到了git_shell
和git_gui
:Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell
【参考方案5】:
首先,您需要清除注册表中不需要的上下文菜单条目,如“How to Clean Up Your Messy Windows Context Menu”中所述。 通常在:
HKEY_CLASSES_ROOT\Directory\shell
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
然后您需要确保安装 Git for Windows 和便携式自解压存档:PortableGit-2.15.0-64-bit.7z.exe
。
一旦提取到您想要的任何文件夹中,您可以将所述文件夹添加到您的%PATH%
,您将能够在任何地方使用 Git,而无需任何额外的上下文菜单条目。
【讨论】:
感谢您的回答,但我想从我的计算机中删除 git,上下文菜单仅在某些情况下被清除,在 Documents 文件夹中它仍然存在。你遇到过这样的问题吗? @DawidDaveKosiński 否,我提供的链接也应该删除 Document 中的条目。另外我只解压便携版,所以我从来没有看到任何上下文菜单。 我稍后再试试这个链接,因为我现在不在电脑上。以上是关于如何从文档中的菜单上下文中删除 git?的主要内容,如果未能解决你的问题,请参考以下文章
从Visual Studio代码源代码控制窗格上下文菜单中提供“打开文件”命令
如何在 Windows 资源管理器中添加“在此处打开 git-bash ...”上下文菜单?