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:

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

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.

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.

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.

cygwin git mysql,msysgit和Cygwin + git之间的区别?相关推荐

  1. mysqladmin mysql,mysql,mysqladmin,mysqld之间的区别

    Can someone give me a clear explanation of the differences between mysql (command line tool), mysqla ...

  2. Windows下安装 msysGit 以及初始化 Git server环境

    Windows下git工具msysGit使用以及Git server初始化 Windows下git工具,这里选择msysGit,版本为msysGit-netinstall-1.8.1.2-previe ...

  3. cygwin git mysql_msysgit和Cygwin git之间的区别?

    编辑(2年后:2014年10月) We now have a light-weight Git for Windows SDK – which is essentially a standard Mi ...

  4. Git for windows 和 cygwin

    git for windows 根目录和安装目录 C:\Program Files\Git cygwin 根目录和安装目录 C:\cygwin64 建议环境变量设置. cygwin使用gitFW的命令 ...

  5. Git Fetch vs Pull:Git Fetch和Git Pull命令之间有什么区别?

    Git pull and fetch are two commands that are regularly used by Git users. Let's see the difference b ...

  6. Git - ‘假设未改变‘和‘跳过工作树‘之间的区别

    本文翻译自:Git - Difference Between 'assume-unchanged' and 'skip-worktree' I have local changes to a file ...

  7. git fetch和git pull之间的区别--转载

    原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...

  8. Git、GitHub、GitLab三者之间的联系以及区别

    Git.GitHub.GitLab三者之间的联系以及区别 在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制 ...

  9. Git GUI,Git Bash,Git CMD标签之间的区别

    Git GUI,Git Bash,Git CMD标签之间的区别 本地安装完Git之后,右键会出现2个有关Git的标签,"Git GUI Here" 和 "Git Bash ...

最新文章

  1. [COCI 2013/2014 ROUND 3] parovi
  2. head()函数python_Python中的Pandas DataFrame head()方法
  3. python getchar_system(“pause”)和getchar()
  4. django使用bootstrap快速美化 admin后台
  5. 我想快速给WPF程序添加托盘菜单
  6. BZOJ_1629_[Usaco2007_Demo]_Cow_Acrobats_(贪心)
  7. 单片机c语言按照长度分割字符串,单片机c语言字符串操作
  8. MYSQL数据库基础概念
  9. ERP系统之比较——SAP Oracle BAAN JDE SSA
  10. 华硕笔记本电池软件_成色配置都还不错的二手华硕7代 i5 笔记本电脑 只卖1599元 想要的 快进来看看...
  11. 语音信号处理的过程及其应用
  12. 安装系统或者进PE蓝屏 代码:IRQL NOT LESS OR EQUAL
  13. win10系统Windows 资源保护无法启动修复服务该如何解决?
  14. Python+Superset:商业智能数据分析
  15. 《Python编程从入门到实践》(第2版)第二章 习题答案
  16. 移动广告SDK测试思路
  17. vue读取excel表格数据_vue 利用 js-xslx 读取 excel 表格文件
  18. 庄懂的TA笔记(六)<FakeEnvReflect 生锈,锈迹效果>
  19. 利用高德地图通过给定坐标点画带箭头方向的路径
  20. 维基百科创建和百度百科建立有何不同?

热门文章

  1. 12【C语言 趣味算法】存钱问题(四层for循环,if判断)
  2. 利用浏览器的 window.print();打印分层表格【强制换页的关键】
  3. OpenHarmony--Hi3516DV300设备版本烧写
  4. VMWare虚拟机下调整界面的大小
  5. FANUC机器人负载手动设置方法参考
  6. 计算机交互工作原理,键盘,鼠标与计算机之间的交互原理
  7. 计算一元一次方程Y=kX+b
  8. 黑客讲故事:攻下隔壁女生路由器后,我都做了些什么【转】
  9. 2022OUC软件工程第二次作业-08组
  10. SQL基础学习:五、聚集函数