来自msysgit(即Windows上的Git)和来自MinGW.org的MinGW之间的区别

8

我已经通过网络安装程序安装了msysgit。我最终得到了将近2GB的材料,其中包括Git源码和MinGW等内容。

我有三个问题:

  • 我之前已经从MinGW.org获取了MinGW。现在我认为可以删除后者并使用msysgit分发。不管怎样,来自MinGW.org的MinGW附带了mingw-get,可以用于管理MinGW软件包。如何识别与msysgit一起提供的软件包?换句话说(考虑到巨大的msysgit大小),哪些软件包是没有包含在内的?

  • 鉴于整体大小以及Git被构建时,有哪些文件夹可以安全地删除而不影响正常的Git使用?这是假设我不需要重新构建Git的情况下。

  • 最后,这个版本是否应该被视为便携式版本?如果不是,那么安装的注册表键或环境变量是什么?

实质上,我需要帮助决定是使用小型便携式Git并设置符号链接到MinGW,还是使用巨大的多合一发行版并弃用MinGW.org。

1个回答

16

这里存在一些误解,让我们首先澄清一下:

  1. 你所说的 Unix-like shell 环境被称为 MSYS。它最初是由 MinGW.org 开发的 Cygwin 的分支。后来对它进行了一些改进,使得 git 能够在其中运行,从而成为 msysgit。请注意,git 二进制文件是本地 Win32 程序,但 POSIX shell 是其操作所必需的。

  2. MinGW.org 提供了一个命令行安装器/软件包安装工具叫做 mingw-get。它可以从 MSYS(我相信也可以从普通 cmd)中运行。

现在,回答你的问题:

  • 我认为 msysgit 提供了完全功能的 git 所需的最少数量的软件包。许多 git 都是通过 shell 运行的,因此需要很多实用程序。不过,我对这个问题并不确定。

  • 你为什么要构建 git?那听起来像是一个麻烦的任务。我建议往下看,找到更好的使用 git、MinGW 和 shell 结合的方式。

  • MSYS 相当便携,尽管您可能需要重新运行后安装脚本,如果您改变了位置。默认情况下,msysgit 将其 ssh 密钥放在您的 Windows 用户文件夹中,而不是 MSYS 树中,请确保不要丢失这些文件。

最后,为了避免所有这些问题并显着提高您的设置(某种随机设置质量因子的水平),请使用 MSYS2。什么是 MSYS2?它是当前 Cygwin 的最新分支,修补程序以像 MSYS 一样运行(具有整个路径转换的功能),集成了实际有用的软件包管理器和 MinGW-w64 工具链。 总之,MSYS2 比你现在拥有的任何东西都更好、更好、更好。请注意,您可以安装大量的 MinWG-w64 库,而无需自己构建它们。 您也可以安装 git,尽管 MSYS2 软件包没有...


我能否在MSYS2内部运行/安装Git?(包括吃豆人+1) - antonio
@antonio 是的,只需要运行 pacman -Syu; pacman -S git 命令。这里应该有一个软件包 - rubenvb
这是我迄今发现的最精确的回答,澄清了mingw、msys和cygwin之间的联系。谢谢! - Sir Jane
似乎由Git for Windows安装的msys位于不同的环境中(具体来说:它在不同的位置挂载“/”),而不是msys2提供的环境。我发现Windows上可用的Unix / POSIX环境的分散令人恼火,但另一方面,我们拥有它们本身就值得庆祝... - Steven Lu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接