无法修改git bash Windows快捷方式

时间:2010-04-12 10:25:42

标签: git bash windows-7

在Windows 7下,我想更改Git Bash Here shell扩展命令窗口的设置,例如宽度,高度和字体。但是当我这样做时,我收到错误“无法修改快捷方式”。

我可以使用“以管理员身份运行...”在“开始”菜单中修改Git Bash的快捷方式,但这只适用于从“开始”菜单打开的Bash窗口。它 不适用于“Git Bash Here”shell扩展,右键单击上下文菜单中没有“以管理员身份运行...”选项。

你是怎么做到的?

14 个答案:

答案 0 :(得分:77)

如果您通过右键单击其图标并选择“以管理员身份运行”以管理员身份运行git bash,您将能够更改设置并使其保持不变。

您可以通过关闭管理员会话然后以普通用户身份重新开启来验证这一点。

我这样做是为了设置默认值,然后从那时起只使用git作为普通用户。

编辑 如果您使用的是最新的msysgit版本,我的答案已过时,而sebastien.b已发布更新的解决方案 - https://stackoverflow.com/a/7216120/104783

说明

  

修复是编辑Git Bash.vbs脚本并让它再次执行链接,而不是sh.exe。寻找这一行:

Dim bash : bash = fso.BuildPath(gitdir, "bin\sh.exe")
     

并将其替换为此行:

Dim bash : bash = fso.BuildPath(gitdir, "Git Bash.lnk")

andrej351也有a good reminder

  

此外,请不要忘记从下拉菜单中选择“默认值”而不是“属性”,以便保持设置

答案 1 :(得分:26)

不幸的是,用户 spark bentayloruk 提供的已接受的答案不再起作用(至少从git 1.7.6开始)。由“ Git Bash Here ”触发的Git Bash.vbs脚本不再执行Git Bash快捷方式。它创建了一个临时快捷方式(.lnk),用于执行Git安装目录中的bin/sh.exe可执行文件。修改可执行文件(sh.exe)或Git Bash快捷方式的属性(字体,颜色)将无济于事。

修复是编辑Git Bash.vbs脚本并让它再次执行链接,而不是sh.exe。寻找这一行:

Dim bash : bash = fso.BuildPath(gitdir, "bin\sh.exe")

并将其替换为此行:

Dim bash : bash = fso.BuildPath(gitdir, "Git Bash.lnk")

答案 2 :(得分:7)

更新:根据一些评论和其他答案,此答案仅与旧版本相关。也许是1.7.6之前的那些。

完整说明

您可以通过执行以下操作来修改使用 Git Bash Here 上下文菜单时应用的设置:

  1. 打开Git for Windows安装文件夹。例如C:\Program Files (x86)\Git
  2. 右键单击 Git Bash 快捷方式文件,然后选择以管理员身份运行
  3. 如果系统询问您是否要授予Windows命令处理器修改计算机的权限(否则您的更改将不会保留),请单击
  4. 根据需要修改属性(右键单击标题栏并单击属性),然后关闭窗口。
  5. 更多详情

    这是有效的,因为单击 Git Bash Here shell扩展菜单项会运行命令wscript "C:\Program Files (x86)\Git\Git Bash.vbs" "%1"。这在注册表项HKEY_CLASSES_ROOT\Directory\shell\git_shell\command中指定。此vbs文件设置当前目录,然后执行 Git Bash 快捷方式。更改此快捷方式的设置后,将始终在运行此快捷方式时使用它们(无论是否为管理员)。

答案 3 :(得分:2)

如果有人来这里,就像我一样,寻找一种让Git Bash上下文菜单以管理员身份运行的方式(出于任何原因),多亏了上述内容,以下是我需要修改的步骤这项工作:

  1. 在Git目录中(例如C:\ Program Files(x86)\ Git)创建一个名为“Git Bash”的快捷方式,目标为“C:\ Program Files(x86)\ Git \ bin \ sh.exe” - -login -i'
  2. 如上所述编辑Git Bash.vbs,将目标设置为“Git Bash.lnk”
  3. 从Git Bash.vbs
  4. 删除'link.Arguments =“ - login -i”'行

    感谢上述所有人推动我朝着正确的方向前进。

    PS,这是Windows 7上的Git-1.9.0-preview20140217

答案 4 :(得分:2)

这个版本似乎更简单,并且在最新 Git上对我来说效果很好。

  1. 右键单击C:\ Program Files \ Git \ git-bash.exe(适用于Windows 2.x的Git)
  2. 点击属性
  3. 在“属性”对话框中单击“兼容性”选项卡
  4. 选中“以管理员身份运行该程序”复选框
  5. 单击“确定”按钮

答案 5 :(得分:1)

您可以直接在Windows注册表中编辑shell的上下文菜单处理程序。您正在寻找的那个可能属于这些分支之一:

  • HKCR \目录\壳牌\
  • HKCR \目录\ ShellEx的\ ContextMenuHandlers \
  • HKCR \文件夹\壳牌\
  • HKCR \文件夹\ ShellEx的\ ContextMenuHandlers \
  • HKCR \ AllFileSystemObjects的\壳\
  • HKCR \ AllFileSystemObjects的\ ShellEx的\ ContextMenuHandlers \

这是一个lengthy article,解释你可以在那里做什么。请参阅this article的后半部分,了解有关查看位置的更多提示。

答案 6 :(得分:1)

尝试转到C:\ Program Files(x86)\ Git或安装git的地方并编辑git bash快捷方式,大小在布局选项卡中

答案 7 :(得分:0)

您可以尝试免费软件,例如 Default Programs Editor Context Menu Editor ,看看是否允许您:

  • 正确编辑快捷方式
  • 或定义新的快捷方式(行为与您想要的一样)并在上下文菜单中注册该快捷方式。

答案 8 :(得分:0)

查看修改后的“Git Bash.vbs”,它使用UNC路径的新方法,但使用旧方法作为本地路径。

http://groups.google.com/group/msysgit/browse_thread/thread/0603d9565a988d48?pli=1

我遇到Sebastien解决方案的问题是bash路径始终是我选择的文件夹的父级,我觉得这很烦人。

答案 9 :(得分:0)

此解决方案帮助我更改字体大小:

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

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

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

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

  4. 你已经完成了。您可以关闭控制台并以普通用户身份再次运行它;字体大小应该是你选择的。

答案 10 :(得分:0)

上述说明对我不起作用。我在任务栏中创建了cmd.exe的快捷方式,将其设置为以管理员身份运行,并告诉它运行git shell。

  1. 打开%APPDATA%\ Microsoft \ Internet Explorer \ Quick Launch \ User Pinned \ TaskBar
  2. 右键单击目录并选择New - >快捷键
  3. 在文本字段中显示“键入项目的位置”,输入:

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

  4. 选择快捷方式的名称并保存。

  5. 右键单击刚刚保存的快捷方式,单击高级... 按钮,然后选中以管理员身份运行的复选框。
  6. 我选择了Git Shell快捷方式的默认安装位置,以防它在将来的版本中得到更新,但您可以将其放在任何位置以使其在今天工作 - 只需确保使用新位置更新快捷方式的命令。

    现在,只需在任务栏中单击一下,即可以管理员身份启动所有Git Shell路径的命令提示符。

答案 11 :(得分:0)

更高版本,例如Git for Windows v2.7.2(64位)不使用VBS文件,因此我修改了注册表以通过 cmd.exe 运行快捷方式。它可以工作,但是你必须在它打开时手动关闭它,这不是太麻烦。

要更改的注册表项是

HKEY_CLASSES_ROOT / Directory / shell / git_shell / command

您会发现默认值应该是:

"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 文件的位置可能与您有所不同,同时请注意命令周围所需的双引号。

BTW - 我使用Git Bash来运行我的Ember CLI构建和服务命令。通过将 lnk 设置为以管理员身份运行,能够以提升的权限运行它非常有用,因为它可以显着提高性能。

答案 12 :(得分:0)

我遇到了与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。
  7. 为什么会这样?

    这是因为我已经在我的Windows上安装了Git,这是一个 32位版本,然后我 - 不知道不兼容性 - 将我的Git更新为运行在中的更新版本64位

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

答案 13 :(得分:0)

在Windows 7上,只需右键单击该程序,然后选择properties并输入新的快捷方式。 您将需要管理员权限。