无法修改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”上下文菜单时应用的设置:

  1. 打开Git for Windows安装文件夹。 例如C:\Program Files (x86)\Git
  2. 右键单击Git Bash快捷方式文件,然后select“以pipe理员 身份 运行”
  3. 如果询问您是否要授予Windows命令处理器修改计算机的权限(否则您的更改将不会被保留),请单击“ 是”
  4. 根据需要修改属性 (右键单击标题栏并单击属性),然后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理员身份运行(出于任何原因),这要归功于以上所述,以下是我需要采取的修改步骤:

  1. 在Git目录(例如C:\ Program Files(x86)\ Git)中创build一个名为“Git Bash”的目标为“C:\ Program Files(x86)\ Git \ bin \ sh.exe”的快捷方式。一世'
  2. 如上所述编辑Git Bash.vbs,将目标设置为“Git Bash.lnk”
  3. 从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帮助我改变字体大小:

  1. 将Git Bash链接的目标replace为以下内容:

    %ComSpec%/ c“C:\ Program Files(x86)\ Git \ bin \ sh.exe”–login -i

  2. 在开始菜单中findGit Bash链接,右键单击并以pipe理员身份运行。

  3. 修改打开的控制台的属性,而不是默认值。 设置你喜欢的任何字体。 我更喜欢Consolas 28,因为我很盲目:)

  4. 你完成了。 您可以closures控制台并以普通用户身份再次运行; 字体大小应该是你的select。

上面的说明不适合我。 我在我的任务栏中创build了一个cmd.exe的快捷方式,将其设置为以pipe理员身份运行,并告诉它运行git shell。

  1. 打开%APPDATA%\ Microsoft \ Internet Explorer \快速启动\用户固定\任务栏
  2. 在目录中右键单击并select“新build” – >“快捷方式”
  3. 在显示“input项目位置”的文本字段中,input:

    C:\Windows\System32\cmd.exe /c "%USERPROFILE%\Desktop\GIT Shell.lnk"

  4. 为快捷方式select一个名称并保存。

  5. 右键单击刚刚保存的快捷方式,单击“ 高级…”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)。 以下是我所做的:

  1. 打开Git Bash
  2. 右键单击打开的任务栏图标
  3. 用鼠标右键单击Git Bash
  4. 属性
  5. 如果他们是正确的,检查目标开始在字段。 我的目标是Program Files(x86) ,但是我的Git安装在Program Files中
  6. 保存并重新打开Git Bash。

为何发生这种事?

这是因为我的Windows上已经有Git,这是一个32位的版本,然后我 – 不知道不兼容 – 我的Git更新到64位的新版本。

解决这个问题的另一种方法是完全重新安装。