Git:在特定目录中打开 Git-Bash

Git:在特定目录中打开 Git-Bash

我可以通过多种方式通过 Windows 命令提示符启动 git-bash:

"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"

我想使用这样的调用在特定目录中启动 git-bash。


就上下文而言,我是在 SAS 增强编辑器中执行此操作的。实际调用是

%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);

对于不熟悉 SAS 的人来说,%sysexec打开 Windows 命令提示符的实例并发出作为参数给出的任何命令。它工作得非常好。但是,我希望能够在特定目录中启动 git-bash,而不仅仅是主目录中。

为此,我可以在中创建一个条目.bashrc

cd /c/new/starting/dir

但是,这样做的麻烦在于,每当我打开 git-bash 时(例如通过特定文件夹中的上下文菜单),默认目录就是.bashrc

我看到存在 git-bash 启动选项但我无法--cd-to-home--cd=<path>它们工作。例如,

"C:\Program Files\Git\bin\sh.exe" --cd-to-home
"C:\Program Files\Git\bin\sh.exe --cd-to-home"
"C:\Program Files\Git\git-bash.exe" --cd-to-home
"C:\Program Files\Git\git-bash.exe --cd-to-home"
etc.

是否可以从 Windows 命令提示符在特定目录中启动 git-bash?如果可以,正确的语法是什么?

奖金: 50 个字符以内可获得加分

答案1

"C:\Program Files\Git\git-bash.exe" --cd=c:\path\to\folder

答案2

一种可能的解决方案是在打开 git-bash 之前更改目录。默认情况下,git-bash 在当前目录中打开。为此,在,cd之前放置一个调用start

cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"

由于这是在 SAS 中完成的,因此可以将特定目录存储在宏变量中。这保证了在 50 个字符以内的要求(因此可以通过菜单中的热键调用KEYS)。您可以在代码中的某个地方分配 Git 工作目录,

%let gwd = C:\specific\dir\to\open;

然后调用%sysexec看起来像

%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);

其工作原理如下。首先,SAS 将扩展&gwd。然后打开 Windows 命令提示符。将cd目录更改为&gwd.解析为的任何内容。然后,Git-bash 在当前目录(已更改为&gwd.)中打开。最后,每当 git-bash 关闭时,exit都会给出命令,关闭 Windows 命令提示符会话。

不幸的是,似乎初始cd调用和打开 git-bash 之间出现了足够的延迟,令人烦恼。我怀疑cd在 git-bash 中发出命令可能会更快,但这种方法确实有效。

答案3

您可以创建如下脚本:

cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe" 

将其保存为whatever.cmdwhatever.bat并双击它。

为了方便起见,您可以按照以下步骤将脚本添加到任务栏。我想将其包括在内,因为它并不像您想象的那么容易(不能简单地将脚本本身拖到任务栏):

  1. 右键单击脚本并选择“创建快捷方式”
  2. 右键单击您创建的快捷方式并选择“属性”
  3. 在快捷方式、目标下,输入:cmd /c C:\path\to\your\script\whatever.cmd
  4. 笔记:您可能需要指定完整路径命令(例如,C:\Windows\System32\cmd.exe...)

现在只需单击任务栏上的命令即可一键运行脚本。

相关内容