什么是 git-scm
(从git-scm.com下载)和 msysGit (托管在Google Code,Github和可能其他地方)之间的区别?它们似乎非常相似,尽管我有 git-scm,但我已经应用了适用于 msysGit 的修复程序,并且它们似乎运行良好。
另外,如果有的话,哪一个是 Git for Windows
,两者都称为 Git Bash
,或者两者都有 Git Bash
shell,还是只有其中一个?
什么是 git-scm
(从git-scm.com下载)和 msysGit (托管在Google Code,Github和可能其他地方)之间的区别?它们似乎非常相似,尽管我有 git-scm,但我已经应用了适用于 msysGit 的修复程序,并且它们似乎运行良好。
另外,如果有的话,哪一个是 Git for Windows
,两者都称为 Git Bash
,或者两者都有 Git Bash
shell,还是只有其中一个?
git-scm.com是Git版本控制软件的官方网站。没有“Git-SCM”,那只是源代码管理(SCM)软件的URL,名称只是Git。最初为Linux编写,原始Git软件仅作为源代码提供,不易在Windows上编译。
如果您只想在Windows上安装Git,则可以在此停止阅读并直接从官方网站下载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”,它基本上是构建Git所需的整个构建环境,并且包含一切你需要开始处理Git的内容。这个项目主要发布了三个东西: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都是编写为shell脚本的。为了执行这些脚本,Git for Windows使用Bash捆绑在MSYS2中(因此Bash作为其解释器工作)。
Git Bash通常指的是Git for Windows安装程序创建的快捷方式。它启动一个运行Bash的全功能控制台窗口,因此您可以使用Git以及一组常见的命令行工具或Unix程序(如less
、awk
、grep
甚至是文本编辑器vim
)。特别是对于不太有经验的用户来说,Git Bash是与Git交互的常见方式,尽管您也可以轻松地从更Windows中心化的环境(如PowerShell)中使用它。
从Git版本2开始,默认情况下,Git Bash将在MinTTY中启动,这是一个带有MSYS2的终端模拟器,使得即使对于不习惯控制台体验的用户也能轻松使用。
如果您在安装Git for Windows期间决定不将任何Git可执行文件添加到PATH中,那么Git Bash仍然非常有用。然而,我的个人建议是将Git可执行文件(仅仅是Git可执行文件,在安装期间选择“从Windows命令提示符使用Git”的选项)添加到PATH中。这样,您可以在其他shell(cmd.exe或PowerShell)中使用Git,其他程序也可以访问它(例如,许多库甚至IDE集成都期望在PATH中有一个Git可执行文件以与Git存储库交互)。
msysGit
是二进制文件/.exe等,而 git-scm
则是最终产品? - trysis