无法修改git bash Windows快捷方式
在Windows 7下,我想更改Git Bash Here shell扩展命令窗口的设置,例如宽度,高度和字体。 但是当我这样做,我得到一个错误“无法修改快捷方式”。
我可以通过使用“以pipe理员身份运行…”来修改开始菜单中的Git Bash的快捷方式。这个工作,但只适用于从开始菜单中打开的Bash窗口。 它不适用于“Git Bash Here”shell扩展,并且在右键上下文菜单上没有“以pipe理员身份运行…”选项。
你怎么做呢?
如果您以pipe理员身份运行git bash,请右键单击其图标并select“以pipe理员身份运行”,您将可以更改设置并使其保持不变。
您可以通过closurespipe理会话然后以普通用户身份重新打开来validation。
我这样做是为了设置默认值,然后只是使用git作为普通用户。
编辑:我的答案是过时的,如果您使用最新的msysgit版本和sebastien.b发布更新的解决scheme – https://stackoverflow.com/a/7216120/104783
它指出
解决的办法是编辑
Git Bash.vbs
脚本,让它再次执行链接,而不是sh.exe。 找这条线:Dim bash : bash = fso.BuildPath(gitdir, "bin\sh.exe")
并用下面的代码replace它:
Dim bash : bash = fso.BuildPath(gitdir, "Git Bash.lnk")
andrej351也有很好的提醒
此外,不要忘记从下拉菜单中select“默认”,而不是“属性”,以保持设置
不幸的是,由用户提供的接受的答案火花或bentayloruk不再工作了(至lessgit 1.7.6)。 由“ Git Bash Here ”触发的Git Bash.vbs
脚本不再执行Git Bash
快捷方式。 它会创build一个临时快捷方式(.lnk)来执行Git安装目录中的bin/sh.exe
可执行文件。 修改该可执行文件(sh.exe)或Git Bash快捷方式的属性(字体,颜色)将无济于事。
解决的办法是编辑Git Bash.vbs
脚本,让它再次执行链接,而不是sh.exe。 找这条线:
Dim bash : bash = fso.BuildPath(gitdir, "bin\sh.exe")
并用下面的代码replace它:
Dim bash : bash = fso.BuildPath(gitdir, "Git Bash.lnk")
更新:根据一些意见和其他答案,这个答案只适用于旧版本。 也许那些在1.7.6之前。
完整说明
通过执行以下操作,可以修改使用“ Git Bash Here”上下文菜单时应用的设置:
- 打开Git for Windows安装文件夹。 例如
C:\Program Files (x86)\Git
。 - 右键单击Git Bash快捷方式文件,然后select“以pipe理员 身份 运行” 。
- 如果询问您是否要授予Windows命令处理器修改计算机的权限(否则您的更改将不会被保留),请单击“ 是” 。
- 根据需要修改属性 (右键单击标题栏并单击属性),然后closures窗口。
更多细节
这是有效的,因为单击Git Bash Here shell扩展菜单项运行命令wscript "C:\Program Files (x86)\Git\Git Bash.vbs" "%1"
。 这是在registry项HKEY_CLASSES_ROOT\Directory\shell\git_shell\command
。 这个vbs文件设置当前目录,然后执行Git Bash快捷方式。 一旦你改变了这个快捷方式的设置,当这个快捷方式运行时(无论是否pipe理),它们总是被使用。
如果有人来到这里,就像我一样,寻找一种方法来让Git Bash上下文菜单以pipe理员身份运行(出于任何原因),这要归功于以上所述,以下是我需要采取的修改步骤:
- 在Git目录(例如C:\ Program Files(x86)\ Git)中创build一个名为“Git Bash”的目标为“C:\ Program Files(x86)\ Git \ bin \ sh.exe”的快捷方式。一世'
- 如上所述编辑Git Bash.vbs,将目标设置为“Git Bash.lnk”
- 从Git Bash.vbs中删除“link.Arguments =”–login -i“'行
感谢上面的推动我正确的方向。
PS,这是与Windows 7上的Git-1.9.0-preview20140217
您可以直接在Windowsregistry中编辑shell的上下文菜单处理程序。 你正在寻找的可能是在这些分支之一:
- HKCR \目录\壳牌\
- HKCR \目录\ ShellEx的\ ContextMenuHandlers \
- HKCR \文件夹\壳牌\
- HKCR \文件夹\ ShellEx的\ ContextMenuHandlers \
- HKCR \ AllFileSystemObjects的\壳\
- HKCR \ AllFileSystemObjects的\的shellex \ ContextMenuHandlers \
这里有一篇很长的文章解释你可以在那里做什么。 请参阅本文的后半部分,了解有关在哪里查看的更多提示。
你可以尝试像默认程序编辑器或上下文菜单编辑 器的免费软件,看看是否允许你:
- 要正确编辑快捷方式,
- 或者定义一个新的快捷方式(其行为如你所愿)并在上下文菜单中注册该快捷方式。
尝试去C:\ Program Files文件(x86)\ Git或任何你安装git和编辑git bash快捷方式,大小是在布局选项卡
检查出一个修改后的“Git Bash.vbs”,它使用UNCpath的新方法,而对于本地path则使用旧方法。
http://groups.google.com/group/msysgit/browse_thread/thread/0603d9565a988d48?pli=1
我用Sebastien的解决scheme遇到的问题是,bashpath始终是我select的文件夹的父项,我觉得很烦人。
这个解决scheme帮助我改变字体大小:
-
将Git Bash链接的目标replace为以下内容:
%ComSpec%/ c“C:\ Program Files(x86)\ Git \ bin \ sh.exe”–login -i
-
在开始菜单中findGit Bash链接,右键单击并以pipe理员身份运行。
-
修改打开的控制台的属性,而不是默认值。 设置你喜欢的任何字体。 我更喜欢Consolas 28,因为我很盲目:)
-
你完成了。 您可以closures控制台并以普通用户身份再次运行; 字体大小应该是你的select。
上面的说明不适合我。 我在我的任务栏中创build了一个cmd.exe的快捷方式,将其设置为以pipe理员身份运行,并告诉它运行git shell。
- 打开%APPDATA%\ Microsoft \ Internet Explorer \快速启动\用户固定\任务栏
- 在目录中右键单击并select“新build” – >“快捷方式”
-
在显示“input项目位置”的文本字段中,input:
C:\Windows\System32\cmd.exe /c "%USERPROFILE%\Desktop\GIT Shell.lnk"
-
为快捷方式select一个名称并保存。
- 右键单击刚刚保存的快捷方式,单击“ 高级…”button,然后选中“以pipe理员身份运行 ”checkbox。
我select了Git Shell快捷方式的默认安装位置,以防在将来的版本中得到更新,但是您可以将它放在任何地方以便今天完成这项工作,只要确保使用新的位置更新快捷方式的命令即可。
现在,您可以通过单击任务栏中的所有Git Shellpath来以pipe理员身份启动命令提示符。
后来的版本,如Git for Windows v2.7.2(64位)不使用VBS文件,所以我修改了registry以通过cmd.exe运行快捷方式。 它可以工作,但是打开时必须手动closurescmd窗口,这不是太繁重。
要更改的registry项是
HKEY_CLASSES_ROOT / Directory / shell / git_shell /命令
你会发现默认值应该是这样的:
"C:\Program Files\Git\git-bash.exe" "--cd=%1"
我改变了
cmd.exe /k ""C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Git\Git Bash.lnk" "--cd=%1""
lnk文件的位置可能会有所不同,并且还要注意命令周围的双引号。
顺便说一句 – 我使用Git Bash来运行我的Ember CLI构build和服务命令。 通过将lnk设置为以admin身份运行,可以使用提升的权限运行它,因为它显着提高了性能。
我有一个与Git 2.8.2(64位)类似的问题,导致Git Bash的一个.exe图标(这也可能发生在Shell)。 以下是我所做的:
- 打开Git Bash
- 右键单击打开的任务栏图标
- 用鼠标右键单击Git Bash
- 属性
- 如果他们是正确的,检查目标和开始在字段。 我的目标是Program Files(x86) ,但是我的Git安装在Program Files中
- 保存并重新打开Git Bash。
为何发生这种事?
这是因为我的Windows上已经有Git,这是一个32位的版本,然后我 – 不知道不兼容 – 我的Git更新到64位的新版本。
解决这个问题的另一种方法是完全重新安装。