无法修改 git bash Windows 快捷方式

Posted

技术标签:

【中文标题】无法修改 git bash Windows 快捷方式【英文标题】:Unable to modify git bash Windows shortcut 【发布时间】:2011-02-06 22:55:41 【问题描述】:

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

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

你是怎么做到的?

【问题讨论】:

【参考方案1】:

2020 年更新

KVN 发布了update for Windows 10

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

    右键单击 C:\Program Files\Git\git-bash.exe(Git for Windows) 点击属性 单击“属性”对话框中的“兼容性”选项卡 选中“以管理员身份运行此程序”复选框 点击确定按钮

年长的

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

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

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

编辑如果您使用的是最新的 msysgit 版本,我的回答已经过时了,并且 sebastien.b 发布了更新的解决方案 - https://***.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

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

【讨论】:

这行得通,但我必须以管理员身份运行 Bash Shortcut 图标一次,它会保留设置。 您能告诉我一旦我成为管理员后如何更改设置吗?我想换个字体。 右键单击应用程序的顶部栏并选择属性。然后有一个字体选项卡。你可能还想考虑一个新的控制台,比如sourceforge.net/projects/console【参考方案2】:

这个似乎更简单并且在最新的 Git 上对我很有效。

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

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

我在使用 Git 2.8.2(64 位)时遇到了类似的问题,导致 Git Bash 出现 .exe 图标(Shell 也可能出现这种情况)。这是我所做的:

    打开 Git Bash 右键单击打开的任务栏图标 右键单击 Git Bash 属性 检查TargetStart in字段是否正确。我的目标是 Program Files (x86),但我的 Git 安装在 Program Files 保存并重新打开 Git Bash。

为什么会这样?

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

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

【讨论】:

【参考方案5】:

更新:根据一些 cmets 和其他答案,这个答案只与旧版本有关。也许是 1.7.6 之前的那些。

完整说明

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

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

更多详情

这是有效的,因为单击 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 快捷方式。更改此快捷方式的设置后,运行此快捷方式时将始终使用它们(无论是否为管理员)。

【讨论】:

Git for Windows v2.7.2 (64 bit) 似乎没有Git Bash.vbs【参考方案6】:

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

要更改的注册表项是

HKEY_CLASSES_ROOT/目录/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 构建和提供命令。通过将 lnk 设置为以管理员身份运行,能够以提升的权限运行它很有用,因为它显着提高了性能。

【讨论】:

优秀。对于 1.7.6 之后的版本,找到问题根源的唯一答案(不仅提供解决方案,还提供示例用例)。我在@sebastien.b 的回答之后添加了一条评论,为查找快捷方式 (lnk) 文件提供了一些帮助。【参考方案7】:

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

    打开 %APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

    右键单击目录并选择新建 -> 快捷方式

    在“键入项目的位置”的文本字段中,输入:

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

    为快捷方式选择一个名称并保存。

    右击刚刚保存的快捷方式,点击Advanced...按钮,然后勾选Run as Administrator复选框。

我选择了 Git Shell 快捷方式的默认安装位置,以防它在未来的版本中得到更新,但您可以将它放在任何地方以使其今天正常工作 - 只需确保使用新位置更新快捷方式的命令.

现在,您可以在任务栏中一键以管理员身份使用所有 Git Shell 路径启动命令提示符。

【讨论】:

【参考方案8】:

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

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

感谢以上所有人将我推向正确的方向。

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

【讨论】:

【参考方案9】:

这个解决方案帮助我改变了字体大小:

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

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

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

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

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

【讨论】:

【参考方案10】:

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

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

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

【讨论】:

【参考方案11】:

不幸的是,用户 sparksbentayloruk 提供的已接受答案不再起作用(至少从 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")

【讨论】:

^^这应该在顶部。另外,不要忘记从下拉菜单中选择“默认值”而不是“属性”,以使设置保持不变。 甜蜜!找这个已经很久了。我几乎没有阅读超出公认答案的内容。 以这种方式编辑 Git Bash.vbs 以便对控制台窗口的属性进行持久更改是必要的,从 Git-1.7.6-preview20110708 开始,但不再需要 Git-1.7.7-preview20111014或更新。 我认为这里有很多假设...首先...我在哪里可以找到Git Bash.vbs。我看不到对此的解释,如果我不知道它在哪里,也不是很有帮助。我在安装 git 的目录中进行了搜索,发现没有 bash.vbs 并且唯一带有“bash”一词的文件是 .exe 文件。我们可以在这个答案中提供更多信息吗?我在哪里可以找到这个必须编辑的文件?此外,它说它不使用它但创建了一个快捷方式?我在哪里可以找到这个快捷方式? @Goblinlord 和至少 8 位其他支持该评论的人:我可以为您和任何可能跟进的人提供帮助。在开始菜单搜索中,输入“Git Bash”。 (注:“Git Bash Here”只有在您右键单击目录时才会出现)。右键单击“Git Bash”,然后按“打开文件位置”。对我来说,这会打开一个带有“Git Bash”快捷方式的开始菜单文件夹。右键单击它并转到“属性”。拉起“快捷方式”选项卡,这将为您提供 git 安装目录 作为“目标”。 (请注意,您可以单击“高级”并选中“以管理员身份运行”框。)【参考方案12】:

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

【讨论】:

【参考方案13】:

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

HKCR\Directory\Shell\ HKCR\Directory\ShellEx\ContextMenuHandlers\ HKCR\文件夹\Shell\ HKCR\Folder\ShellEx\ContextMenuHandlers\ HKCR\AllFilesystemObjects\shell\ HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers\

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

【讨论】:

没有最新版本的.vbs,这可能是迄今为止最简单的解决方案。凹凸【参考方案14】:

您可以尝试 Default Programs EditorContext Menu Editor 等免费软件,看看是否可以:

要正确编辑快捷方式, 或定义一个新的快捷方式(其行为符合您的要求)并在上下文菜单中注册该快捷方式。

【讨论】:

谢谢,但肯定有办法在不安装 3rd 方软件的情况下做到这一点?!?!我知道这是可能的,因为我的同事已经做到了,但不记得怎么做了!!! :-))

以上是关于无法修改 git bash Windows 快捷方式的主要内容,如果未能解决你的问题,请参考以下文章

如何以管理员身份运行 Git Bash(总是)

运行 Git Bash 脚本的 Windows 快捷方式

Git Bash修改默认路径

解决 Windows 环境 Git Bash 里无法识别 Composer 命令的问题

无法在 Windows 上使用 Git bash 进行 ssh - 权限被拒绝(公钥)

修改Git下Git Bash开始键的默认起始路径