Windows的Git-scm,msysGit和Git之间的差异

try*_*sis 62 windows git msysgit git-bash

git-scm(从git-scm.com下载)和msysGit(托管在Google Code,Github以及可能还有其他人)之间有什么区别?它们看起来非常相似,即使我有git-scm,我已经应用了为msysGit指定的修复程序,它们似乎工作正常.

另外,哪一个,哪一个,Git for Windows都被调用Git Bash,或两者都有Git Bashshell,或只有两个中的一个?

pok*_*oke 106

网站git-scm.com是版本控制软件Git的官方网站.没有"Git-SCM",这只是源控制管理(SCM)软件的URL - 名称只是Git.最初是为Linux编写的,原始的Git软件仅作为无法在Windows上轻松编译的源提供.

如果您只是想在Windows上安装Git,那么您可以在这里停止阅读,只需从官方网站下载Windows版本.

Git for Windows

Git for Windows是专门为Windows构建Git本机构建的项目.Windows版本可以在官方Git网站上下载,它们是32位和64位版本.

Git for Windows构建于MSYS2(MinGW的一部分)之上,它提供了一个最小的类似unix的shell环境,用于运行Git的所有组件,这些组件不是用本机代码编写的(很多Git都是用shell编写的)脚本).为了使用MSYS2构建Git,项目组有一个特殊的"Git for Windows SDK",它基本上是在Windows上构建Git所需的整个构建环境,并提供了开始使用Git本身所需的一切.

该项目维护自己的Git分支,它与原始的Git项目保持同步,但包含一组在Windows上构建它所需的补丁.Git for Windows 版本通常在官方版本发布后短暂延迟发布(尽管有时会跳过版本).

msysGit

在Git版本2之前,Git for Windows二进制文件由名为msysGit的项目发布,该项目是Git for Windows项目的前身.该项目于2015年8月18日退役,赞成使用重建的Git for Windows SDK开发环境启动Git for Windows项目.新项目主要是由同一个团队开始的.

虽然许多人认为msysGit是Git二进制文件的名称,但实际上它们是他们创建的开发环境的名称.它基于MSYS,在MSYS2开始新的之前,它是旧的和过时的版本.MSYS的糟糕状态是Git for Windows项目以完全改进的构建环境启动的原因之一.

该项目基本上发布了三件事:msysGit,Git for Windows和便携式Git for Windows.msysGit安装程序将安装并设置在Windows上构建Git所需的开发环境,就像Git for Windows SDK现在所做的那样.Git for Windows是一个安装程序,可以在Windows机器上安装Git,而便携式Git for Windows只是你不必安装的二进制文件.请注意,他们的所有版本都作为"预览"版本发布,这意味着它们不会是完全受支持的版本.尽管如此,该项目非常成熟,版本非常稳定,是在Windows上设置Git的事实上的最佳方式.

Git Bash

如上所述,很多Git都是作为shell脚本编写的.为了执行这些脚本,混帐for Windows使用猛砸是自带MSYS2(所以猛砸可以作为一个解释器)捆绑在一起.

Git Bash通常是指Git for Windows安装程序创建的快捷方式.它启动一个全功能的控制台窗口中运行bash,所以还可以使用Git以及一组常用的命令行工具或Unix程序(如less,awk,grep,甚至文本编辑器vim).特别是对于经验较少的用户,Git Bash是与Git交互的常用方式,尽管您可以从更多以Windows为中心的环境(如PowerShell)轻松使用它.

从Git版本2开始,Git Bash将默认在MinTTY中启动,MinTTY 是MSYS2附带的终端仿真器,即使对于不习惯控制台体验的用户也很容易使用.

知道即使你决定在设置Git for Windows期间不向你的PATH添加任何Git可执行文件,Git Bash也会一直有效.但是,我个人的建议是添加Git可执行文件(只是 Git可执行文件,在安装过程中选择"从Windows命令提示符使用Git"选项)到PATH.这样,您可以使用其他shell(cmd.exe或PowerShell)中的Git,其他程序也可以访问它(例如,许多库甚至IDE集成都希望PATH中的Git可执行文件与Git存储库交互).

  • @trysis,一个更具历史意义的事实:Git for Windows,当处于婴儿期和青春期时,被称为msysGit,许多早期采用者通过这个名称知道它,并且卡住了.后来,这个Windows端口的开发人员决定将使用msysGit构建的二进制安装程序的名称更改为Git for Windows,并仅为Git for Windows开发环境保留名称"msysGit".这肯定会增加混乱,因为您完全能够在Web上找到名为"msysGit"的用法,表示Git for Windows. (3认同)
  • 谢谢!我在网上找不到任何东西,相信我,我已经搜索了很多次。零零碎碎,但没有什么比这更全面。 (2认同)
  • msysGit 是构建最终产品“Git for Windows”的构建环境,就是这样(Git,但适用于 Windows),是的。而“git-scm”只是一个蹩脚的域名:P (2认同)