windows - Windows 版 Git-scm、msysGit 和 Git 之间的差异

标签 windows git msysgit git-bash

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

另外,如果有的话,哪个是 Git for Windows ,并且都被称为 Git Bash ,或者两者都有 Git Bash shell ,还是只有两者之一?

最佳答案

网站git-scm.com是版本控制软件 Git 的官方网站。没有“Git-SCM”,它只是源代码控制管理 (SCM) 软件的 URL——名称只是 Git .最初为 Linux 编写的原始 Git 软件只能作为在 Windows 上不易编译的源代码使用。

If you are just interested in installing Git on Windows, then you can stop reading here and just download a Windows build from the official website.



适用于 Windows 的 Git

Git for Windows是致力于为 Windows 构建 native Git 版本的项目。 Windows 版本可供下载 on the official Git website ,它们有 32 位和 64 位版本。

Windows 版 Git 建立在 MSYS2(MinGW 的一部分)之上,它提供了一个最小的类 Unix shell 环境,用于运行 Git 的所有组件,这些组件不是用 native 代码编写的(很多 Git 是编写的)作为 shell 脚本)。为了用MSYS2搭建Git,项目组有专门的“Git for Windows SDK”,基本上就是在Windows上搭建Git所需的整个搭建环境,来了with everything你需要开始研究 Git 本身。

项目自有维护fork of Git它与原始 Git 项目保持同步,但包含一组在 Windows 上构建它所需的补丁。 Windows 版 Git releases通常在正式版发布后会有短暂的延迟发布(尽管有时会跳过版本)。

管理系统

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

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

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

git bash

如上所述,很多 Git 都是写成 shell 脚本的。为了执行这些脚本,Git for Windows 使用 Bash与 MSYS2 捆绑在一起(因此 Bash 作为它的解释器)。

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

从 Git 版本 2 开始,Git Bash 将默认在 MinTTY 中启动,一个 terminal emulator随 MSYS2 一起提供,即使对于不习惯控制台体验的用户也可以轻松使用。

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

关于windows - Windows 版 Git-scm、msysGit 和 Git 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22310007/

相关文章:

git - VSCode,如何比较分支和目录并轻松浏览更改?

git - 如何使用远程 git 分支的更改更新本地分支,而无需 'merge' 提交

git update-index --assume-unchanged 不适合我

带命令的 ruby​​ 脚本生成 DOS shell 而不是 msysgit shell

windows - 使用 MSysgit 的 Perl intrepretor 在 Windows 上的 Apache 下 GitWeb 非常慢

c# - Windows 服务打印 PDF

windows - C++窗口最大化问题

c++ - Windows:文件重命名和目录迭代冲突

c++ - 包含 QMdiSubWindows 的 QMdiArea 对可访问性 API 不可见

git - 在 Windows 上的 Git Bash 中设置提示颜色