99

重击

过去两天我一直在使用 Git Bash。我现在知道了基本的操作,例如commit, push, pull,fetchmerge。但我仍然不知道 Git Bash本身到底是什么!

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

4

4 回答 4

80

git bash 是一个外壳,其中:

请参阅“修复 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 月更新

注意: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.

但是随着msysgit(2015 年第四季度)和新的Git For Windows(2015 年第二季度)的逐步淘汰,您现在拥有Git for Windows 2.3.5
它有一个更新的 bash,基于64 位 msys2 项目,MSYS 的独立重写,基于现代 Cygwin(POSIX 兼容层)和 MinGW-w64,旨在与本机 Windows 软件更好的互操作性。msys2也带有自己的安装程序

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 运行时的一个非常薄的编译时层;因此,MinGW 程序是真正的 Windows 程序,没有 Unix 风格的路径或诸如fork()调用之类的 POSIX 细节的概念
  • 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 的安装程序——而且只有 Git

在“ msysgit 和 Cygwin + git 之间的区别? ”中查看更多信息。

于 2013-07-23T12:34:14.263 回答
22

我认为提问者是(曾经)认为git bash是一个类似git initgit checkout的命令。Git bash 不是一个命令,它是一个接口我还将假设提问者不是 linux 用户,因为 bash 在 unix/linux 世界中非常流行。名称“bash”是“ Bourne A gain SH ell”的首字母缩写。Bash 是一个纯文本命令界面,具有允许运行自动化脚本的功能。一个很好的类比是将 bash 与Windows7/8 中的新PowerShell界面进行比较。一个穷人类比(但可能更容易被更多人理解)是DOS 时代和 Windows 早期版本的命令提示符和 .BAT(批处理)命令文件的组合。

参考:

于 2015-10-10T07:47:29.913 回答
10

Bash 是一个命令行界面,由 Brian Fox 在 27 年前创建,作为 Bourne Shell 的免费软件替代品。shell 是一种特定类型的命令行界面。Bash 是“开源”的,这意味着任何人都可以阅读代码并提出更改建议。从一开始,它就得到了一个庞大的工程师社区的支持,他们致力于使其成为一个令人难以置信的工具。Bash 是 Linux 和 Mac 的默认 shell。由于这些原因,Bash 是使用最多且分布最广泛的 shell。

Windows 有一个不同的命令行界面,称为命令提示符。虽然它具有许多与 Bash 相同的功能,但 Bash 更受欢迎。由于开源社区的实力和他们提供的工具,掌握 Bash 比掌握命令提示符更好。

要在 Windows 计算机上使用 Bash,我们需要下载并安装一个名为 Git Bash 的程序。Git Bash(Is the Bash for windows)允许我们在 Windows 环境中轻松访问 Bash 以及另一个名为 Git 的工具。

于 2019-02-12T02:26:36.263 回答
5

Git 的核心是一组命令行实用程序,旨在在 Unix 风格的命令行环境中执行。Linux 和 macOS 等现代操作系统都包含内置的 Unix 命令行终端。这使得 Linux 和 macOS 在使用 Git 时成为互补的操作系统。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

于 2019-05-02T12:56:43.830 回答