Git Bash的确切含义是什么?

时间:2013-07-23 10:23:21

标签: git-bash

Git Bash

过去两天我一直在与Git Bash合作。我现在知道commitpushpullfetchmerge等基本操作。但我仍然不知道Git Bash 本身实际上是什么!

我搜索了很多关于Git Bash的内容,但我见过的所有网站都关注其命令的功能。我的问题仍然没有找到一个好的答案。现在,我想,我是在正确的地方得到这个答案!

4 个答案:

答案 0 :(得分:72)

git bash是一个shell,其中包含:

请参阅“Fix msysGit Portable $HOME location”:

在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)这样的工具提供different shell for git(包括PowerShell)


2015年4月更新

注意:msysgit/Git for windows 1.9.5中的git bash是旧的:

GNU bash, version 3.1.20(4)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

但是使用phasing out of msysgit(2015年第4季度)和新的Git For Windows(2015年第2季度),您现在拥有Git for Windows 2.3.5。 它有一个更新的bash,基于64位msys2 project,独立重写MSYS,基于现代Cygwin(POSIX兼容层)和MinGW-w64,旨在更好地与本机Windows软件进行互操作。 msys2也附带its own installer

git bash现在(使用新的Git For Windows):

GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.

原始答案(2013年6月) 更准确地说,来自msygit wiki

  

从历史上看,Windows上的Git只能使用Cygwin正式支持   为了帮助制作原生Windows版本,此项目已根据mingw fork 启动。

     

为了使项目名称的乳白色'汤'更清晰,我们这样说:

     
      
  • msysGit - 是此项目的名称,是Git for Windows的构建环境,可以发布官方二进制文件
  •   
  • MinGW - 是本机Microsoft Windows应用程序的极简主义开发环境   它实际上是Microsoft Runtime上非常薄的编译时层;因此,MinGW程序是真正的Windows程序,没有Unix风格路径或POSIX细节的概念,例如fork()调用
  •   
  • MSYS - 是一个Bourne Shell命令行解释器系统,由MinGW(和其他人)使用,在过去的分叉来自Cygwin
  •   
  • Cygwin - 类似Linux的环境,过去用于构建Git for Windows,现在与msysGit无关
  •   

所以,关于“git bash”的两行描述是:

Git bash”是包含在“Git for Windows”中的msys shell,是Cygwin的缩小版本(旧版本),其唯一目的是提供足够的用于运行bash的POSIX层。


提醒:

  

msysGit是编译Git for Windows的开发环境。它是完整的,在某种意义上你只需要安装msysGit,然后就可以构建Git了。无需安装任何第三方软件。

msysGit不是Git for Windows;这是一个安装Git的安装程序 - 只有Git

在“Difference between msysgit and Cygwin + git?”中查看更多内容。

答案 1 :(得分:17)

我认为问题提示者认为 git bash 是一个像 git init git checkout 这样的命令。 Git bash不是命令,它是接口我还会假设提问者不是linux用户,因为bash很受欢迎unix / linux世界。名称“bash”是“ B 我们 A 增益 SH ell”的首字母缩写。 Bash是一个纯文本命令接口,具有允许运行自动脚本的功能。一个好的类比就是将bash与Windows7 / 8中的新 PowerShell 接口进行比较。 类比(但可能更容易被更多人理解)是DOS时代的命令提示符和.BAT(批处理)命令文件的组合和早期版本的Windows。

参考文献:

答案 2 :(得分:3)

Bash是由Brian Fox创建于27年前的命令行界面,它是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的工具。

答案 3 :(得分:0)

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。

源:https://www.atlassian.com/git/tutorials/git-bash