如何添加一个上下文(又名右键单击)菜单到windows资源管理器,当单击时,在当前资源管理器文件夹中打开git-bash控制台?
当前回答
下面是Registry导出(*。reg文件)Git GUI和Git Bash直接从Windows安装程序-Git GUI:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui]
@="Git &GUI Here"
"Icon"="C:\\Program Files\\Git\\cmd\\git-gui.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_gui\command]
@="\"C:\\Program Files\\Git\\cmd\\git-gui.exe\" \"--working-dir\" \"%v.\""
去抨击:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell]
@="Git Ba&sh Here"
"Icon"="C:\\Program Files\\Git\\git-bash.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell\command]
@="\"C:\\Program Files\\Git\\git-bash.exe\" \"--cd=%v.\""
关于*的详细信息。reg文件,请参阅微软的“如何使用.reg文件添加、修改或删除注册表子键和值”。
其他回答
我已经有太多的程序想要在PATH列表中占有一席之地。为了不污染PATH列表,我选择从升高的命令提示符中添加一个符号链接,如下所示。
mklink C:\bin\git-bash.exe "C:\Program Files\Git\git-bash.exe"
虽然也有例外,但这在大多数情况下都是有效的,其中包括7-zip CLI、选定的SysInternals命令行工具、NuGet CLI和许多其他工具。
另外一个好处是,Git Bash命令行界面易于访问,这使得从打开的命令提示窗口激活它变得很简单。有了这个改进,我可能就可以在目录上下文菜单上不再有另一个项目了。
另一种选择,但使用PowerShell脚本。
这基本上是一个PowerShell脚本,它几乎与这个答案相同(它也添加了图标)。
创建文件(addOpenGitBashHereContextMenu.ps1),粘贴下面的代码,并从PowerShell运行它。
您可能需要更改exePath以指向您的git可执行文件。 也改变contextMenuText如果你想改变上下文菜单中的文本。
$exePath = $env:USERPROFILE + '\scoop\apps\git\current\git-bash.exe'
$contextMenuText = 'Open Git Bash Here'
$regEntryName = 'git_shell'
$regPathShell = 'HKCU:\SOFTWARE\Classes\Directory\Background\shell'
$regPathContextMenu = $regPathShell + '\' + $regEntryName
$regPathCommand = $regPathContextMenu + '\command'
$user = $env:UserName
echo "Setting '$contextMenuText' context menu..."
echo " User name: '$user'"
echo " Register path: '$regPathCommand'"
echo " Executable path: '$exePath'"
# Key: shell
If (-NOT (Test-Path $regPathShell)) {
New-Item -Path $regPathShell
}
# Key: regEntryName
If (-NOT (Test-Path $regPathContextMenu)) {
New-Item -Path $regPathContextMenu -Value $contextMenuText
# Add Icon to context menu
Set-ItemProperty -Path $regPathContextMenu -Name 'Icon' -Value $exePath
}
# Key: command
If (-NOT (Test-Path $regPathCommand)) {
New-Item -Path $regPathCommand -Value $exePath
}
我也有类似的问题,我这样做了。
第一步:在开始菜单中输入“regedit”
步骤2:运行注册表编辑器
步骤3:导航到HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell。如果您没有shell密钥,请创建一个。
第四步:右键单击“shell”,选择“New > Key”。命名键“Bash”
第五步:修改值并将其设置为“open in Bash”这是在右键单击中出现的文本。
步骤6:在Bash下创建一个新密钥,命名为command。将该键的值设置为git-bash.exe路径。
关闭注册表编辑器。
你现在应该可以在资源管理器的右键菜单中看到这个选项
PS Git Bash默认选择当前目录。
编辑:如果你想要一个点击的方法,检查下面的Ozesh的解决方案
最简单的方法是从这里安装最新的Git。在安装时,确保启用了Windows资源管理器集成选项。
一旦你完成了,你将得到这些选项,只要你右键单击任何文件夹。
希望能有所帮助。
对我有用的几乎是这个,但有以下REGEDIT路径: HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Directory/background/shell,在这里我创建了密钥Bash,值是我想要显示的名称,然后在这个命名命令下创建了另一个密钥,值作为git-bash.exe的路径
我在Windows 10上安装了一个新的git,由于某种原因没有自动添加这个(git版本2.12.0 64bit)
推荐文章
- 为什么调用git分支——unset-upstream来修复?
- Windows git“警告:LF将被CRLF取代”,这是警告尾巴向后吗?
- git中的哈希冲突
- git可以自动在空格和制表符之间切换吗?
- Git暂存文件列表
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时
- git reflog和log有什么区别?