吉特·巴什
最近两天我一直在与Git Bash合作。我知道现在的基本操作,例如commit
,push
,pull
,fetch
,和merge
。但我仍然不知道是什么混帐击本身实际上是!
我搜索了很多有关Git Bash的信息,但是我看到的所有站点都集中在其命令的功能上。对于我的问题,我仍然没有找到好的答案。现在,我想,我来对地方了!
最近两天我一直在与Git Bash合作。我知道现在的基本操作,例如commit
,push
,pull
,fetch
,和merge
。但我仍然不知道是什么混帐击本身实际上是!
我搜索了很多有关Git Bash的信息,但是我看到的所有站点都集中在其命令的功能上。对于我的问题,我仍然没有找到好的答案。现在,我想,我来对地方了!
Answers:
git bash是一个shell,其中:
sh.exe
(与msysgit打包为share/WinGit/Git Bash.vbs
)$HOME
被定义为请参阅“修复msysGit便携式$HOME
位置”:
在Windows 64上:
C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"
这不同于git-cmd.bat
,后者在普通的DOS命令提示符下提供git命令。
像GitHub for Windows(G4W)之类的工具为git提供了不同的shell(包括PowerShell)
2015年4月更新:
注意:Windows 1.9.5的msysgit / Git中的git bash是旧的:
GNU bash, version 3.1.20(4)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.
但是随着逐步淘汰msysgit(2015年第四季度)和新的Windows版Git(2015年第二季度),您现在有了适用于Windows 2.3.5的Git。
它具有基于64位msys2项目的最新bash,它是基于现代Cygwin(POSIX兼容性层)和MinGW-w64的MSYS的独立重写,目的是更好地与本机Windows软件互操作。msys2
也带有自己的安装程序。
git bash现在是(带有用于Windows的新Git):
GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.
原始答案(2013年6月)更准确地说,来自msygit Wiki:
从历史上看,仅使用Cygwin正式支持Windows上的Git。
为了帮助制作本机Windows版本,该项目基于mingw fork开始了。为了使项目名称的乳白色“汤”更加清晰,我们这样说:
- msysGit-是该项目的名称,这是Windows版Git的构建环境,它将发布官方二进制文件
- MinGW-是用于本机Microsoft Windows应用程序的简约开发环境。
它实际上是Microsoft Runtime上非常薄的编译时层。因此,MinGW程序是真正的Windows程序,没有Unix样式的路径或POSIX细微之处(如fork()
调用)的概念- MSYS-是Bourne Shell命令行解释器系统,由MinGW(及其他公司)使用,过去是从Cygwin派生的
- Cygwin-类似Linux的环境,过去曾用于构建Windows的Git,如今与msysGit无关
因此,关于“ git bash”的两行描述是:
“ Git bash
”是“ Git for Windows”中包含的msys shell,并且是Cygwin的精简版(当时是旧版),其唯一目的是提供足够的POSIX层来运行bash。
提醒:
msysGit是用于Windows编译Git的开发环境。就您只需要安装msysGit而言,然后就可以构建Git而言,它是完整的。无需安装任何第三方软件。
msysGit不是Windows的Git。那是一个安装程序,它只能安装Git。
请参阅“ msysgit与Cygwin + git之间的区别? ”中的更多内容。
git bash
”的更多详细信息?
我认为提问者的问题是(一直)认为git bash是像git init或git checkout这样的命令。Git bash不是命令,而是接口。我还将假定asker不是Linux用户,因为bash在unix / linux世界中非常流行。名称“的bash”是“的首字母缩写乙ourne甲增益SH ELL”。Bash是纯文本命令界面,具有允许运行自动脚本的功能。一个很好的类比是将bash与Windows7 / 8中的新PowerShell界面进行比较。一个穷人类推(但更容易为更多人所理解)是将命令提示符和.BAT(批处理)命令文件结合在一起,而该文件来自DOS时代和Windows的早期版本。
参考资料:
Bash是一个命令行界面,由Brian Fox在二十七年前创建,它是Bourne Shell的免费软件替代品。Shell是一种特定的命令行界面。Bash是“开源的”,这意味着任何人都可以阅读代码并提出更改建议。从一开始,它就得到了众多工程师的支持,这些工程师一直致力于使其成为令人难以置信的工具。Bash是Linux和Mac的默认外壳。由于这些原因,Bash是使用最多且分布最广泛的Shell。
Windows有一个不同的命令行界面,称为命令提示符。尽管它具有与Bash相同的许多功能,但Bash更为流行。由于开放源代码社区及其提供的工具的优势,掌握Bash比掌握Command Prompt更好。
要在Windows计算机上使用Bash,我们需要下载并安装一个名为Git Bash的程序。Git Bash(Windows的Bash)使我们能够在Windows环境中轻松访问Bash以及另一个名为Git的工具。
Git的核心是一组命令行实用程序,旨在在Unix风格的命令行环境中执行。像Linux和macOS这样的现代操作系统都包含内置的Unix命令行终端。使用Git时,这使Linux和macOS成为互补的操作系统。相反,Microsoft Windows使用Windows命令提示符(非Unix终端环境)。
什么是Git Bash?
Git Bash是用于Microsoft Windows环境的应用程序,它为Git命令行体验提供了一个仿真层。Bash是Bourne Again Shell的首字母缩写。Shell是用于通过书面命令与操作系统进行交互的终端应用程序。Bash是Linux和macOS上流行的默认Shell。Git Bash是一个软件包,可以在Windows操作系统上安装Bash,一些常见的bash实用程序和Git。