如何从 Windows 命令行启动 Git Bash?

     2023-02-23     206

关键词:

【中文标题】如何从 Windows 命令行启动 Git Bash?【英文标题】:How To Launch Git Bash from Windows Command Line? 【发布时间】:2013-06-22 13:59:51 【问题描述】:

我希望是一个简单的问题,但我还没有找到答案。我想从 Windows 批处理文件启动 Git Bash。到目前为止,这是我尝试过的:

    从 Win 7 开始按钮启动 Git Bash

    使用 CTRL+ALT+DEL 将进程标识为“sh.exe”

    使用启动命令从批处理文件启动 sh.exe

     start sh.exe
    

但是,这不会启动完整的 Git Bash 环境。 Git Bash 通常在标题栏中有“MINGW32”,但 sh.exe 有一个完整的路径...Git\bin\sh.exe。我觉得有一些我可能不知道的覆盖或依赖项,也需要加载(拉入?导入?)。

这是我通过搜索网络找到的最佳结果之一,但它对我来说并不完全有意义,我不确定它是否完全适用于我的情况:

Running git from Windows Cmd line: Where are key files?

我是 Windows 批处理脚本领域的初学者。

【问题讨论】:

嗯,它实际上不是 DOS 命令行,除非: (a) 您遇到了某种时间异常并且使用的是 Windows 9x/ME,其中command.com是操作系统中包含的唯一 shell (b) 您在 32 位 NT 系统上,并且您自己调用了command.com,或者是一个旧程序为您完成了它。请参阅What is the difference between CMD and Command prompt in windows? 了解更多信息。 对于batch 文件,这对我有用:start "" "%PROGRAMFILES%\Git\git-bash.exe" --cd-to-home 【参考方案1】:

如果您想从批处理文件启动:

x86

start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login

x64

start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login

【讨论】:

谢谢@Endoro!尽管@Klas Mellbourn 的答案对于Powershell 是正确的,但您的答案更正确,因为我是从DOS 批处理文件运行的。添加“start”指令会导致程序异步执行,这正是我所需要的!竖起大拇指! 从批处理文件中打开 Git 批处理窗口后,有没有办法在 Git 批处理窗口中键入和执行命令? @OviC 你确定你的编辑是正确的吗? “Program Files (x86)”只存在于 x64 架构下,适用于 32 位程序。 @Drunix 你是对的,x86 系统中没有“Program Files (x86)\”路径。我做了一个回滚。谢谢。 没有安装在系统盘怎么办?如果没有安装在程序文件中怎么办?【参考方案2】:

我不确定你所说的“完整的 Git Bash 环境”是什么意思,但如果我这样做了,我会得到很好的提示

"C:\Program Files\Git\bin\sh.exe" --login

在 PowerShell 中

& 'C:\Program Files\Git\bin\sh.exe' --login

The --login switch 使 shell 执行登录 shell startup files。

【讨论】:

感谢@Klas Mellbourn。您的回答对 Powershell 有好处,但是如果没有像 Endoro 的回答那样添加“start”指令,它会暂停下一个程序的执行,直到退出 shell,这不是所需的行为,否则我会投票给你。 我使用 Console2 到窗口 cmd,这会导致奇怪的行为。我把它放在一个 .bat 文件中,现在一切正常:@"%SYSTEMDRIVE%\Program Files\Git\bin\bash.exe" --login 这也适用于 Windows Docker 容器中,谢谢【参考方案3】:

我更喜欢使用 git-bash.exe 而不是 sh.exe。

start "" "%ProgramFiles%\Git\git-bash.exe" -c "tail -f /c/Windows/win.ini"

最后调用/usr/bin/bash --login -i可以停止关闭窗口;

start "" "%ProgramFiles%\Git\git-bash.exe" -c "echo 1 && echo 2 && /usr/bin/bash --login -i"

注意:我不确定这是不是一个好方法 :)

【讨论】:

不错的答案,但 git-bash 窗口会立即关闭。你知道如何在命令执行完成后禁用自动关闭吗? @Mark 谢谢马克。我在上面的答案中添加了一个示例。不幸的是,我不确定我们应该如何以正确的方式做到这一点,因为我不是 Windows 人 :) [code] start "" "%ProgramFiles%\Git\git-bash.exe" [/code] 很好用! @PauAI 2018 now...我从管理员命令行尝试了start "" "%ProgramFiles%\Git\git-bash.exe",尽管它在新窗口中打开了Git Bash,但键入ls之类的简单命令会导致没有输出.这种方法似乎不允许执行 linux 命令。 ... 编辑:工作,只是花了很长时间(2 分钟)来运行 ls。然后 ls 在不到 1 秒的时间内再次运行。 ......很奇怪。【参考方案4】:

我更喜欢,将 git 放入环境变量中,然后调用

c:\Users\[myname]>sh
or 
c:\Users\[myname]>bash

创建环境变量的步骤(Win7)

在桌面上,右键单击计算机图标。 从上下文菜单中选择属性。 点击高级系统设置链接。 单击环境变量。

在用户变量部分,点击新建按钮,将变量名称设置为GIT_HOME,值设置为 (folder-where-you-installed-git)。

对我来说是c:\tools\git,其他人可能有C:\Program Files\Git

找到PATH 环境变量并选择它。单击编辑。 (如果PATH环境变量不存在,点击新建)。

在编辑窗口中,添加新值%GIT_HOME%%GIT_HOME%\bin。单击确定。单击“确定”关闭所有剩余的窗口。 [确保关闭要用于 git 的 CMD] 打开new命令提示符,然后输入shbashgit-bash

【讨论】:

谢谢!我能够以C:\Program Files\Git 使用GIT_HOME,并从CMD 输入git-bash。此外,奇怪的是,虽然您只需键入 PATH 即可查看其内容,但要查看此 git 自定义变量的内容,您必须键入 echo %GIT_HOME% 谢谢,这是一个很好的补充。除此之外,当您拥有 GIT_HOME 变量并使用 git-bash 命令(或 git-cmd )时,它将在新窗口中打开它。如果您添加到“PATH”环境变量,它将在该现有窗口中切换。您也可以键入exit 以“注销” git bash 并仍然保留 DOS 提示符。【参考方案5】:

你可以将git路径添加到环境变量中

对于 x86

%SYSTEMDRIVE%\Program Files (x86)\Git\bin\

对于 x64

%PROGRAMFILES%\Git\bin\

打开cmd,写这个命令打开git bash

sh --login

bash --login

sh

bash

您可以查看此 GIF 图片了解更多详情:

https://media1.giphy.com/media/WSxbZkPFY490wk3abN/giphy.gif

【讨论】:

【参考方案6】:
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i

Git bash 将打开。

【讨论】:

【参考方案7】:

https://***.com/a/33368029/15789

我已经在这里发布了答案。

打开一个 Windows 命令窗口,并执行此脚本。如果您的工作目录发生变化,它将在您的工作目录中打开一个 bash 终端,并显示当前的 git 状态。它通过调用 exec bash 保持 bash 窗口打开。

如果您有多个项目,您可以使用不同的项目文件夹创建此脚本的副本,并从主批处理脚本中调用它。

【讨论】:

【参考方案8】:

我使用上述信息来帮助创建更持久的解决方案。以下将创建可用于打开 Git Bash 的别名 sh:

echo @start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login > %systemroot%\sh.bat

【讨论】:

感谢 dpate!我将您的 echo 语句粘贴到命令行并运行 sh 并启动了一个 git-bash 窗口,我能够完美地运行命令。可以在您的答案中添加一些细节来解释这是如何工作的吗?我宁愿学习钓鱼是如何工作的,也不愿有人给我一条鱼,我认为这将有助于其他人寻找一个好的答案。谢谢【参考方案9】:

Endoro 的答案已经过时了,我无法发表评论;

# if you want to launch from a batch file or the command line:

start "" "%ProgramFiles%\Git\bin\sh.exe" --login

【讨论】:

windows怎么从命令行下载文件

其具体步骤如下: 1.打开cmd.exeWin+R或者git的bush界面 2.启动powershell 2.1 在命令行中输入start powershell启动powershell 3.下载操作 3.1在powershell.exe文件中输入$client=new-objectSystem.Net.WebClient&nbs 查看详情

windows命令行下启动gitextensions,然后运行git命令报错,为啥

参考技术A将git.exe添加到环境变量path中,然后就可以在任意的目录上通过cmd执行git了。 查看详情

Windows 上的命令行 Git

】Windows上的命令行Git【英文标题】:Command-lineGitonWindows【发布时间】:2012-06-1514:00:40【问题描述】:我在我的Windows7机器上安装了msysGit1.7.10。我需要知道的是我是否仍然可以从命令行使用Git?当我现在在命令行中尝试git命令时... 查看详情

我无法从 Windows 中的命令行启动 MySQL 服务器

】我无法从Windows中的命令行启动MySQL服务器【英文标题】:IcannotstarttheMySQLServerfromcommandlineinwindows【发布时间】:2015-01-0603:46:22【问题描述】:每当我编写命令“C:\\ProgramFiles\\MySQL\\MySQLServer5.0\\bin\\mysqld”时,命令提示符都会返回... 查看详情

如何通过具有命令行参数的 procdump 启动 Windows 应用程序?

】如何通过具有命令行参数的procdump启动Windows应用程序?【英文标题】:Howtolaunchawindowsapplicationviaprocdumpwhichhascommnadlineargs?【发布时间】:2019-08-2607:37:12【问题描述】:我有一个用于Windows的C++应用程序,它采用命令行参数。我如... 查看详情

如何将命令从 GitBash 转换为 Windows 命令行?

】如何将命令从GitBash转换为Windows命令行?【英文标题】:HowtoconvertcommandfromGitBashtoWindowscommandline?【发布时间】:2017-10-1912:24:04【问题描述】:我正在尝试在命令行上使用Karma运行我的Jasmine测试。我在VisualStudio中运行,它似乎在... 查看详情

如何从 PowerShell 命令行查找 Windows 版本

】如何从PowerShell命令行查找Windows版本【英文标题】:HowtofindtheWindowsversionfromthePowerShellcommandline【发布时间】:2011-11-1121:52:42【问题描述】:如何找到我正在使用的Windows版本?我正在使用PowerShell2.0并尝试过:PSC:\\>verTheterm\'ver\... 查看详情

如何从 Windows 命令行永久更新 PATH 变量?

】如何从Windows命令行永久更新PATH变量?【英文标题】:HowtoupdatePATHvariablepermanentlyfromWindowscommandline?【发布时间】:2012-01-1114:19:19【问题描述】:如果我从命令行(cmd.exe)执行setPATH=%PATH%;C:\\\\Something\\\\bin,然后执行echo%PATH%,我会... 查看详情

如何从终端/命令行推送到 git

】如何从终端/命令行推送到git【英文标题】:howtopushtogitfromTerminal/CommandLine【发布时间】:2016-08-2118:28:37【问题描述】:我在文件夹中添加了一个文件用于Git上传。我可以在未暂存的SourceTree中看到该文件夹​​。如何使用终端... 查看详情

如何以管理员身份从 Windows 命令行运行命令?

】如何以管理员身份从Windows命令行运行命令?【英文标题】:HowdoyourunacommandasanadministratorfromtheWindowscommandline?【发布时间】:2011-08-2202:22:06【问题描述】:我有一个小脚本,可以在Windows上为我正在管理的Bazaar存储库执行构建和... 查看详情

Windows 7 命令提示符:如何从命令行执行批处理脚本?

】Windows7命令提示符:如何从命令行执行批处理脚本?【英文标题】:Windows7CommandPrompt:HowdoIexecuteabatchscriptfromthecommandline?【发布时间】:2012-08-3022:30:48【问题描述】:我使用的是Windows7,我的问题是从控制台(cmd.exe)运行此文件:W:... 查看详情

如何从命令行在 Windows 上运行 .class 文件?

】如何从命令行在Windows上运行.class文件?【英文标题】:HowdoIrun.classfilesonwindowsfromcommandline?【发布时间】:2011-02-2107:39:40【问题描述】:我正在尝试从命令行运行.class文件。当我手动移动到它存储的目录时它可以工作,但是当... 查看详情

如何在命令行脚本中启动带参数的windows服务

我们有一个自己编写的Windows服务,我们希望该服务在启动时可以根据用户输入的参数实现不同的功能。要实现这样的需求并不是很难,下面这个例子我用来示范如何编写该服务1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Component... 查看详情

如何从 OSX 的命令行启动 GUI Emacs?

】如何从OSX的命令行启动GUIEmacs?【英文标题】:HowtolaunchGUIEmacsfromcommandlineinOSX?【发布时间】:2012-04-2714:45:36【问题描述】:如何在OSX中从命令行启动GUIEmacs?我已经从http://emacsformacosx.com/下载并安装了Emacs。我会接受满足以下所... 查看详情

如何从命令行启动 Android 应用程序? [复制]

】如何从命令行启动Android应用程序?[复制]【英文标题】:HowtostartanAndroidapplicationfromthecommandline?[duplicate]【发布时间】:2011-09-3015:07:22【问题描述】:如何从命令行启动Android应用程序?有人问过类似的问题,但我找不到好的答... 查看详情

如何使用git

...制的必要,相较于svn,git更优秀2.使用GIT1.首先下载gitforwindows https://git-for-windows.github.io/2.安装后,有两种启动风格,一种是命令行的,叫bash,另一种是窗口模式。推荐使用bash命令行,稳定且利于理解git。3.进入任意一空文件... 查看详情

从命令行git转到tortoise版git

阅读前请注意:本文先学命令行git的,但过不久遇到乱码问题久久不能解决,最后转向tgit。2016-29安装next下一步设置目录勾选需要的项:Additionalicons是关于图标的设置IntheQuickLaunch是快速启动图标OntheDesktop是桌面快捷方式WindowsExpl... 查看详情

如何从命令行打开 SourceTree?

】如何从命令行打开SourceTree?【英文标题】:HowdoyouopenSourceTreefromthecommandline?【发布时间】:2013-11-0821:38:58【问题描述】:有没有一种快速简便的方法可以从命令行在SourceTree中打开git存储库?我在终端上做了很多git工作,但有... 查看详情