msysgit和Cygwin + git之间的区别? [英] Difference between msysgit and Cygwin + git?

查看:864
本文介绍了msysgit和Cygwin + git之间的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

msysgit和Cygwin + git有什么区别?



现在我使用msysgit,但我不喜欢Git Bash调整大小或复制/粘贴),所以我想想,切换到Cygwin,因为我可以使用:


MSysGit中的MSys事情?



MSys是一个提供Unix类型shell和Perl解释器的Windows环境。因为Git的许多部分仍然不是在C中编程的内置程序,而是shell和Perl脚本,Git for Windows需要这样的环境。



一个非常小的版本的MSys。



MSys也需要构建Git,因为我们重新使用相同的Unix类型设置上游Git使用。我们提供了一个更完整的MSys环境,包括GCC作为构建环境(因此被昵称为msysGit)。



a href =http://mingw.org/ =noreferrer> MinGW 程序,即除了标准Windows库之外没有任何链接相关性的程序。

因此,除非你需要使用仍然只是作为shell或Perl脚本实现的Git的任何部分,你可以逃避运行纯git.exe。







原始答案:2010年6月



a /您可以调整大小并复制并粘贴到Git bash在任何其他Windows Shell中。



b /您可能使用Git for windows,而不是msysgit。从维基



  • msysGit是为Windows编译Git的开发环境。它是完整的,在某种意义上,你只需要安装msysGit,然后你可以构建Git。没有安装任何第三方软件。

  • Git for Windows是一个安装Git并且只安装Git 的安装程序。



很容易看到区别:




  • Git的安装程序前缀Git-,

  • msysGit安装程序的前缀为msysGit-。



另一个说法是msysGit安装程序有两种版本:fullinstall和netinstall。

此外,msysGit默认情况下不安装到 C:\Program Files

但是msysGit自带 gcc ,GNU C Compiler。


c / From MSysGitHerald10


请记住:




  • MinGW在微软运行时是一个非常薄的编译时层; MinGW程序因此是真正的Windows程序,没有Unix风格的路径或POSIX的概念,如 fork()调用。

  • 相比之下,MSys是一个超薄版本的Cygwin(一个旧版本),其唯一的目的是提供足够的POSIX层来运行bash。


这是不总是欢迎


我不喜欢msysGit,顾名思义,取决于MSYS和来自Unix世界的工具。我相信Git发行版中的所有程序应该成为一个特定平台的二进制编译,而不是依赖shell解释器或第三方语言如Tcl / Tk。


即使,它远远优于第一个从2007年的Cygwin 安装Git。


What is the difference between msysgit and Cygwin + git?

Now I'm using msysgit, but I don't like the Git Bash (you can't resize or copy/paste) so I'm thinking think about switching to Cygwin, because then I could use mintty.

解决方案

Edit (2 more years later: October 2014)

Johannes Schindelin just explained (Oct. 2014) that msysgit is phased out:

We now have a light-weight Git for Windows SDK – which is essentially a standard MinGW/MSys system managed through the package manager mingw-get.

We decided to just phase out the name "msysGit" (as well as the GitHub org of the same name) and:

  • work on Git for Windows (with the corresponding GitHub org),
  • using the name "Git for Windows" for the installer aimed at "end-users" and
  • using the name "Git for Windows SDK" for the development environment targeting Git for Windows developers).


Update 2 years later: July 2012

Msysgit is here to stay, and unless you need to add a few hundreds of MB for cygwin, you really don't need Cygwin to just use Git on Windows.
And if you want to access GitHub, you get one package ("Git for Windows" + ssh keys registered for you on your GitHub account + a nice GUI) with GitHub for windows.

Both Git and msysgit are on GitHub.
The msysgit.github.com page clearly illustrates the difference between:

<---------->
"Git for Windows": Pure users of Git | "MsysGit": for Testers, developers, custom installer maintainers

See also the msysgit FAQ:

What is this "MSys" thing in "MSysGit"?

MSys is an environment for Windows offering a Unix-type shell and a Perl interpreter. Because many parts of Git are still not builtins programmed in C, but instead shell and Perl scripts, Git for Windows needs such an environment.

Therefore we ship Git for Windows with a very minimal version of MSys.

MSys is also required to build Git, as we re-use the same Unix-type setup upstream Git uses. We ship a more complete MSys environment, including GCC, as build environment (which is therefore nick-named ''msysGit'').

We compile Git as a pure MinGW program, though, i.e. a program without any link-dependencies on anything but standard Windows libraries.
So unless you need to use any parts of Git that are still implemented only as shell or Perl scripts, you can get away with running plain git.exe.


Original answer: June 2010

a/ You can resize and copy-paste in Git bash, like in any other Windows Shell.

b/ You are probably using "Git for windows", and not msysgit. From the wiki:

  • msysGit is the development environment to compile Git for Windows. It is complete, in the sense that you just need to install msysGit, and then you can build Git. Without installing any 3rd-party software.
  • Git for Windows is an installer which installs Git -- and only Git.

It is easy to see the difference:

  • the installers for Git have the prefix Git-,
  • the msysGit installers have the prefix msysGit-.

Another telltale is that the msysGit installers come in two flavors: fullinstall and netinstall.
Further, msysGit does not install to C:\Program Files by default.
But msysGit comes with gcc, the GNU C Compiler.

c/ From MSysGitHerald10:

Remember:

  • MinGW is really a very thin compile-time layer over the Microsoft Runtime; MinGW programs are therefore real Windows programs, with no concept of Unix-style paths or POSIX niceties such as a fork() call.
  • MSys, in contrast, is a slimmed-down version of Cygwin (an old version at that), whose only purpose is to provide enough of a POSIX layer to run a bash.

And that is not always welcomed:

When working on Windows, I dislike that msysGit, as the name suggests, depends on MSYS and on tools from the Unix world. I believe all programs in the Git distribution should become binaries compiled for a specific platform, and not rely on shell interpreters or third-party languages like Tcl/Tk.

Even though, it is far better than the first Git on Cygwin installations from 2007.

这篇关于msysgit和Cygwin + git之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆