在Windows下使用Git:MSYS还是Cygwin?

80

我计划将我的项目迁移到Git上,目前我正在考虑在Windows下哪个选项最好和/或最稳定。

从我所了解的情况来看,基本上有两个半选项:

  1. MSYSgit
  2. Cygwin下的 Git
  3. (又称为2.5) 从Cygwin提示符中使用MSYSgit(假设已安装Cygwin git)。

注意:在我看来,Cygwin本身就是一个大加分项,因为您可以访问几乎所有*nix命令行工具,而对于MSYSgit bash而言,您只能访问其中一小部分工具。

鉴于此,你会推荐哪个选项呢?

13个回答

0
如果您只想执行简单的操作,比如推送/拉取/分支,可以尝试Atlasian的SourceTree。它有一个非常简单和清晰的Git命令用户界面。但是它也有一些缺点。
如果您需要使用命令行git工具,只需获取Windows版的Git工具即可。这应该足够了,除非您开始查找bash脚本。

0

我对CygWin持保留态度,因为我只需要git,而不是Cygwin想要推广的其他工具。通常情况下,您希望您的Windows计算机像Windows计算机一样运作,而CygWin想要添加完全不同的东西。仅仅为了好玩而添加*nix功能是不可取的。

问题是,如果我想使用类似*nix的命令行,我会去我的Linux机器上工作。 虚拟计算机远程桌面现在非常方便,软件开发人员都可以很容易地访问。

您需要有真正的理由才能使用CygWin。如果仅仅是为了使用git,我建议您改用我更喜欢的MSysGit。它与捆绑的gitk和git-gui工具非常兼容,我使用msysgit在Eclipse和Visual Studio上工作得非常顺利。

现在我唯一等待的就是一个完全可用的Git的Tortoise克隆版


截至2017年3月13日,Cygwin版本为2.8.3 git,更新时我遇到了一些Perl问题。Git Bash MinGW版本为2.12。 - Mark

0

在Windows下有一种场景,你必须使用Cygwin来使用Git:当你想要对一个期望SVN客户端版本高于1.5的SVN服务器使用Git时。存在着阻止提交的SVN预提交挂钩,当没有'mergeinfo'参数时会阻止提交 - 并且只有从SVN 1.5版本开始,'mergeinfo'参数才是默认的。msysGit的问题在于它构建在旧的SVN版本(1.4.6)上,所以在这种情况下你无法成功提交。但是使用Cygwin的Git是可以做到的,因为它构建在更新的SVN版本上。


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