首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msys/git和git for windows/mingw-w64-x86_64-git之间有什么区别?

msys/git和git for windows/mingw-w64-x86_64-git之间有什么区别?
EN

Stack Overflow用户
提问于 2016-10-26 12:33:14
回答 2查看 16.3K关注 0票数 43

为了能够在Windows上运行跨平台应用程序的测试脚本,我安装了MSYS2,并使用pacman来安装测试脚本所依赖的任何包。

由于MSYS2提供了git端口(msys/ Git ),我认为也没有必要安装。但是,MSYS2存储库中提供的git版本与Git提供的版本有什么不同?

到目前为止,我注意到了这些差异:

  1. 当在虚拟环境下运行pip freeze时,msys/git将失败,在虚拟环境中,来自git克隆的Python包安装在开发模式中: FileNotFoundError: WinError 3系统找不到指定的路径:‘/c/用户/用户/文档/项目/..git\.’ git for-windows/mingw-w64-x86_64-git不会失败,因此在路径处理方面至少有一些不同。
  2. Git for Windows的gitk和git gui是从盒子里拿出来的。不需要设置GIT_GUI_LIB_DIR环境变量如前所述

存储库中的git似乎提供了目前最好的体验。

您可以在MSYS2中安装Git的git,方法是在/etc/pacman.conf上图 上图 [mingw32][mingw64][msys]条目中添加以下内容。但是,安装Git可能是一个更好的主意,它是基本上是MSYS2的特刊,包括Git。否则,下面的过程(以及更多)也是在此描述

代码语言:javascript
复制
[git-for-windows]
Server = https://dl.bintray.com/$repo/pacman/$arch

[git-for-windows-mingw32]
Server = https://dl.bintray.com/git-for-windows/pacman/i686

在此之后(也许还有一个pacman -Sy),您可以安装Git的git:

代码语言:javascript
复制
pacman -S mingw-w64-x86_64-git

我想没有理由不在MSYS2中安装的Git吗?

编辑 Git (Un)安装程序留下的C:\ProgramData\Git\config。这将git指向SSL证书的错误位置。您可以删除C:\ProgramData\Git\config来修复这个问题。

EN

回答 2

Stack Overflow用户

发布于 2017-11-02 15:05:14

msys/git链接到MSYS2提供的动态库,以类似于cygwin的方式提供POSIX到Windows兼容性(POSIX仿真),因此需要MSYS2环境来运行。

另一方面,git-for-windows/mingw-w64-x86_64-git是使用MinGW编译器编译的,该编译器在编译时执行对本机Windows调用的转换,与仿真方法相比,这种转换的二进制速度要快得多,并且只需要运行本机Windows库。

来自MSYS2与MinGW的区别

MSYS2二进制文件的POSIX仿真层很方便,但代价是:通常情况下,MSYS2程序比它们的MinGW程序慢得多(如果有这种对应程序的话)。因此,Git项目试图提供尽可能多的组件,如MinGW二进制文件。

另见:MSYS2和Cygwin有什么不同?

票数 15
EN

Stack Overflow用户

发布于 2020-07-02 06:09:27

git for windows/git发行2688添加了一个更新的(2020年)视角,来自Git 约翰·辛德林的维护者

Git for Windows的目的实际上是将Git引入Windows。虽然这意味着我们必须交付相当多的类Unix工具,但这并不意味着我们将包括这些工具,除非Git自己的操作需要这些工具,或者至少出于历史原因(活动贡献者的需求有时是决定是否包含工具的一个因素)。话虽如此,你真正要寻找的是MSYS2。 利用MSYS2并附带其文件的子集。MSYS2甚至使用了一个名为"pacman“的包管理系统来安装更多的工具(包括Git.)。

正如问题中所指出的,文档是"安装在MSYS2内部“,但它最近发生了变化,自Pacboy已从基础安装中移除。以来。

因此,需要将其添加回:

代码语言:javascript
复制
# pacman -Fy
:: Synchronizing package databases...
[...]
# pacman -F pacboy.exe
# pacman -F pacboy
msys/pactoys-git r2.07ca37f-1 (base base-devel)
    usr/bin/pacboy
    usr/share/bash-completion/completions/pacboy

然后:

/var/lib/pacman/local文件从我的msys2安装复制到git-bash中,我能够安装tmux (正如我在OP中所计划/显示的那样),它对我来说很好。因此,拥有/var/lib/pacman/local文件是msys2pacmangit-bash中工作所需的全部(我指的是git- for -windows)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40262434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档