如何使用脚本启动具有特定工作目录的 Git Bash 窗口?
Posted
技术标签:
【中文标题】如何使用脚本启动具有特定工作目录的 Git Bash 窗口?【英文标题】:How do I launch a Git Bash window with particular working directory using a script? 【发布时间】:2013-11-23 20:43:45 【问题描述】:如何使用脚本(Bash 或 Windows 批处理)启动具有指定工作目录的新 Git Bash 窗口?
我的目标是从一个脚本启动多个 Git Bash 窗口,每个窗口设置到不同的工作目录。这样我可以在启动计算机后快速开始工作,而不必打开 Git Bash 窗口并将每个窗口导航到正确的工作目录。
我不是在询问如何更改默认工作目录,就像 this question 那样,而是通过脚本启动一个或多个具有不同工作目录的终端窗口。
【问题讨论】:
@StevenVascellaro 编辑问题以解释为什么这不是骗局。 这是有道理的。我撤回了我的重复投票。 【参考方案1】:另一种选择是创建具有以下属性的快捷方式:
目标应该是:
"%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
Start in 是您希望启动 Git Bash 提示的文件夹。
【讨论】:
赞!从来不知道Start in
与程序认为它所在的工作目录有关。
这是最简单的方法。之后,我将该快捷方式固定到任务栏,然后是 Windows + 1,我将其保留为任务栏的第一项,直接使用 git-bash 打开 repo。【参考方案2】:
试试 --cd= 选项。假设您的 GIT Bash 位于 C:\Program Files\Git 中,它将是:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
如果在注册表项中使用,文件夹参数可以与 %1 一起提供:
"C:\Program Files\Git\git-bash.exe" --cd="%1"
【讨论】:
如何使用%1
注册表参数?
当前答案已经过时了,这个应该是那个!
这似乎是一个批处理文件。 (.bat)【参考方案3】:
Git Bash 使用cmd.exe
作为其终端以及由sh.exe
提供的来自MSYS/MinGW 的扩展,这是一种cmd.exe
包装器。在 Windows 中,您使用 start
命令启动一个新终端。
因此,启动具有特定工作目录的新 Git Bash 终端的 shell 脚本是:
(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &
等效的 Windows 批处理脚本是:
C:
cd \path\to\dir1
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
D:
cd \path\to\dir2
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
要获得与从开始菜单启动的 Git Bash 相同的字体和窗口大小,最简单的方法是将开始菜单快捷方式设置复制到命令控制台默认值(要更改默认值,打开 cmd.exe
,左键单击左上角图标,然后选择默认值)。
【讨论】:
这对我有用:cd
到我希望 Git Bash 启动的目录,然后在您的示例中运行 start
命令将在该目录中真正给我一个 Git Bash 终端。你确定你没有在你的 bash rc 文件中的某个地方做一个cd $HOME
(或没有参数的cd
)吗? (如.bashrc
、.profile
、...)还要记住驱动器号。如果你想在 X:
驱动器上启动 Git Bash,那么做 cd x:\path
不会削减它,你必须在 start
之前做 x:
然后 cd \path
你是对的!我错过了你不能简单地cd x:\path
的事实。将相应地编辑我的解决方案。
完美解决方案!让我补充一下,默认的 cmd.exe
设置与安装 Git Bash 时的默认 Git Bash 设置不相同!您必须了解默认设置(上下文菜单中的Defaults
)和当前设置(Properties
)之间的区别。所以,我所做的是:(1)打开 Git Bash,选择 Properties
(当前设置),(2)调整它,精确到我想要的(字体,窗口大小 + 位置),(3)打开 @987654344 @,选择 Defaults
,(4) 从 Git Bash 复制粘贴设置到 cmd.exe
。然后OK
在cmd.exe
'设置中,Cancel
在Git Bash
的设置中,瞧!【参考方案4】:
让我们把@Drew Noakes 的答案加起来:
目标:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
cd
参数应该是如何指定工作目录的选项之一。
另外请注意,我没有任何 --login
参数:相反,我使用另一个专门用于 SSH 密钥的额外应用程序:Pageant(PuTTY 身份验证代理)。
开始于:
C:\GitRepo
同样可能的方式,正如@Drew Noakes 在这里提到/显示的那样,我也使用它。
快捷键:
Ctrl + Alt + B
此类快捷方式是 Windows 中另一个鲜为人知的功能。但是有一个限制:要让快捷方式生效,必须把它放在用户子目录的某个地方:桌面就可以了。
如果您不希望它可见但仍可激活,请将此 .lnk
文件(即,快速启动文件夹)放置,因为该目录用于此类快捷方式。 (不管是否显示在桌面上)#76080#3619355
"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
【讨论】:
【参考方案5】:此外,Win10 还提供了一个选项,可以从工作目录中打开 git bash,方法是右键单击文件夹并在此处选择 GitBash。
【讨论】:
【参考方案6】:Windows 10
这基本上是@lengxuehx 的答案,但已针对 Win 10 进行了更新,并且假定您的 bash 安装来自 git's official downloads 的 Git Bash for Windows。
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
在我丢失了 Git Bash 的上下文菜单项作为从注册表设置运行的命令后,我最终使用了它。如果您对此感到好奇,我这样做了:
-
在
shell
密钥HKEY_CLASSES_ROOT\Directory\Background\shell
中创建一个名为Bash
的新密钥
将字符串值添加到Icon
(不是新键!)这是您的 git-bash.exe 的完整路径,包括 git-bash.exe 部分。您可能需要用引号括起来。
将Bash
的默认值编辑为要在上下文菜单中使用的文本
向Bash
添加一个名为command
的子键
修改command
的默认值为cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
然后您应该能够关闭注册表并从任何真实目录开始使用 Git Bash。例如,This PC
不是真正的目录。
【讨论】:
作为记录,HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command
注册表中默认的 git bash 条目是 "C:\Program Files\Git\git-bash.exe" "--cd=%v."
不错!谢谢,@Ferrybig! ^_^【参考方案7】:
这是可以直接在Run dialog box
中执行的命令(快捷键是win+R),也可以很好的保存为.bat
脚本:
cmd /c (start /d "/path/to/dir" bash --login) && exit
【讨论】:
它在 windows 10 中运行新的 cmd @kyb 对于 Win 10 应该是/b
@kyb 我的答案是对 lengxuehx 答案的修改,以防您或其他任何人仍然感兴趣:***.com/a/39779451/3543437【参考方案8】:
我不熟悉 Git Bash,但假设它是一个位于 /path/to/my/gitshell
中的 git shell(例如 git-sh
)并且您最喜欢的终端程序称为“myterm”,您可以编写以下脚本:
(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) &
...
请注意,用于执行的参数-e
可能与您喜欢的终端程序的名称不同。
【讨论】:
谢谢,您的回答让我想到了正确的方向!这就是我在 Linux 中做事的方式,但我无法在 MS Windows 中找到等价物……直到现在!对于 Git Bash,myterm
是通过 MSYS/MinGW 添加的 cmd.exe。要启动新的 cmd,您可以使用 Windows 特定的 start
命令,后跟 Git Bash 的 sh.exe
的路径,然后是您喜欢的任何命令行选项。我的回答提供了详细信息。【参考方案9】:
如果使用 Windows 操作系统:
-
右键单击 git 终端 > 属性
-
属性>在快捷方式选项卡下>开始于:
添加您的文件夹目标路径,如下图所示
【讨论】:
【参考方案10】:使用 Windows 资源管理器,导航到您想要的任何目录,在地址栏中键入“cmd”,它将在该目录中打开 Windows 命令提示符。
同样,如果您的路径中有git
目录,您可以在地址栏中键入“git-bash”,Git Shell 将在该目录中打开。
【讨论】:
@MichaelMcQuade 这是一个提示,可以,但没有回答问题,如何通过脚本打开 git-bash以上是关于如何使用脚本启动具有特定工作目录的 Git Bash 窗口?的主要内容,如果未能解决你的问题,请参考以下文章
如何为具有特定路径(React Native)的现有项目创建私有 Git 存储库?