如何添加一个上下文(又名右键单击)菜单到windows资源管理器,当单击时,在当前资源管理器文件夹中打开git-bash控制台?


当前回答

将gitpath添加到Environment-path变量(例如C:\Program Files\Git\ cmd),通过该变量,您可以使用命令行从任何文件夹访问git。

其他回答

另一种选择,但使用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
}

你可以为windows安装git或为windows安装Github,两者都让你在安装时选择将此功能添加到windows资源管理器中。你可以在这里找到它:

Github for Windows

https://windows.github.com/

Git for Windows

http://git-scm.com/

@Shaswat Rungta说:“我认为问题更多的是如何在安装结束后添加它。”

在我的PC(Windows 7)上,我认为在安装Visual Studio 2017后,“Git Bash here”命令消失了。

我通过下载并重新安装Git来解决这个问题。 注意:“安装Git for Windows时,默认情况下上下文菜单选项不是‘开启’的。你必须在安装过程中选择它们。”——@nbushnell (我这样做了)

在添加“使用Ruby启动命令提示符”到上下文菜单时也有类似的问题,因为它涉及到将参数与cmd补丁一起传递。遵循与上面解决方案类似的过程

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\*\shell\Cmd With Ruby]  
@="Cmd With Ruby"  
"Icon"="C:\\Windows\\System32\\cmd.exe"

[HKEY_CLASSES_ROOT\*\shell\Cmd With Ruby\command]
@="\"C:\\Windows\\System32\\cmd.exe\" \"/E:ON /K
\"C:\\Ruby25-x64\\bin\\setrbvars.cmd\"\" \"--cd=%1\"\""


[HKEY_CLASSES_ROOT\Directory\shell\bash]  
@="Cmd With Ruby"  
"Icon"="C:\\Windows\\System32\\cmd.exe"


[HKEY_CLASSES_ROOT\Directory\shell\bash\command]
@="\"C:\\Windows\\System32\\cmd.exe\" \"/E:ON /K
\"C:\\Ruby25-x64\\bin\\setrbvars.cmd\"\" \"--cd=%1\"\"" 

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash]  
@="Cmd With Ruby"  
"Icon"="C:\\Windows\\System32\\cmd.exe"


[HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command]
@="\"C:\\Windows\\System32\\cmd.exe\" \"/E:ON /K
\"C:\\Ruby25-x64\\bin\\setrbvars.cmd\"\" \"--cd=%v.\"\""

下面是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文件添加、修改或删除注册表子键和值”。