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. C#指针使用学习总结
  2. pythontkinter在一块区域中绘图_用Python中的tkinter模块作图(续)
  3. 2018山东省省赛 问题 H: Dominoes
  4. C的安装编译Error
  5. ARM Cortex-M3中断跳转过程
  6. 编译原理习题(含答案)——1 绪论——MOOC哈工大陈鄞配套, 1 编译是对()。 A. 机器语言的执行 B. 汇编语言的翻译
  7. html 进入效果,用css3实现简单的进入效果
  8. hive转16进制unhex_Java 进制的转换
  9. Oracle命令--为数据文件缩容
  10. gdal数据类型_科学网-gdal数据类型的代码的核心定义文件-林清莹的博文
  11. 阿里iconfont使用教程
  12. 2022年“超级818汽车狂欢夜”启动,易车将携手汽车品牌共创内容营销
  13. 【C++】反向迭代器(rbegin,rend)(转载)
  14. 国家社科基金项目清单、申报书填写指南和课题申报书模板
  15. 朋友们,想去一线大厂?卷起来...
  16. 微x怎么设置主题_团日活动主题策划书范文
  17. 从项目的一个 panic 说起:Go 中 Sync 包的分析应用
  18. Error与Exception的异常定义以及简介(简单理解介绍是为了下一节的异常处理与捕捉)
  19. OpenGL第十讲——像素图
  20. 如何获取微信小程序包

热门文章

  1. 初识NK-RTU980开发板
  2. 计算机组装竞赛结束词,技能大赛主持词结尾模板
  3. 骑缝章 Java_Java 在PDF中添加骑缝章示例解析
  4. 数据分析师的具体工作职责和工作内容有哪些?
  5. UE4之多人局域网游戏中GameMode/PlayerController/Pawn/Character/GameInstance/GameState/PlayState 6个类的生成情况和生成个数
  6. 网络报修信息管理代码java_javaweb在线报修维修系统、java+ssh+mysql实现
  7. 获得文件绝对路径的小技巧
  8. 远古vod5.0的安装!
  9. 【2018】输出奇偶数之和
  10. ☆☆☆☆☆图像类找工作面试问题☆☆☆☆☆