106

I am having trouble determining the difference between MSysGit and Git for Windows. How are they different? Why would I choose one over the other?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Jarrod
  • 1,535
  • 3
  • 16
  • 19
  • 16
    +1, this is actually a harder/more involved/important question than it first appears. –  Sep 08 '10 at 23:00
  • 1
    See also Different between msysgit and cygwin + git ?: http://stackoverflow.com/questions/3144082/different-between-msysgit-and-cygwin-git/3144417#3144417 – VonC Sep 13 '10 at 07:40
  • See also http://stackoverflow.com/q/22310007/405017 and http://stackoverflow.com/q/11849737/405017 and http://superuser.com/q/742536 – Phrogz Apr 30 '15 at 15:30

9 Answers9

80

Are they not the same thing?

On: http://msysgit.github.com/ The title is Git for Windows, the application is msysgit.

Even in the event they are not, I expect the only differences will be in the method of compilation (i.e. compiler used and any options set) and any extraneous packaging (such as having a bash emulating shell as in msysgit). The actual product (Git itself) should remain broadly similar.


Edit: Thanks to Jarrod for pointing this out. I've left the above in for posterity. To quote 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. msysGit is not Git for Windows; that 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.

So, the difference between the two projects:

  • msysGit is the msys+mingw environment + everything needed to compile Git yourself, on Windows.
  • Git for Windows is exactly that: Git, compiled for Windows.
Mark Amery
  • 143,130
  • 81
  • 406
  • 459
  • 9
    I don't think they are the same thing. If you follow a link in the one you posted, you will find "msysGit is not Git for Windows" on the wiki – Jarrod Sep 08 '10 at 22:51
  • 2
    @Jarrod I think you are absolutely correct and I've updated my answer. –  Sep 08 '10 at 22:59
  • 5
    Please excuse my ignorance, but why would I want to compile git? If I just wanted to use git for source control on windows, do I need msysGit? – Jarrod Sep 08 '10 at 23:19
  • @Jarrod I don't know... because a usual approach would be to install msys or such-like. I expect for whatever reason they found they had to set the environment up in a certain way, so they packaged it. –  Sep 08 '10 at 23:22
  • 3
    @Jarrod Short answer to your question: No. Get Git on Windows. –  Sep 08 '10 at 23:24
  • 2
    @Jarrod: You'd want to compile it yourself if you wanted to use the latest version of git, so you can get all the exciting new features as soon as possible! I do this on linux. – Cascabel Sep 08 '10 at 23:46
  • @Jefromi: so that is the only reason I would want MsysGit? – Jarrod Sep 09 '10 at 17:55
  • 1
    @Jarrod: For you, yes. Other reasons: you want to control how it's compiled for some reason, you want to hack on the source code... – Cascabel Sep 09 '10 at 17:58
  • 1
    MsysGit will also get you a rudimentary unix shell environment as an alternative to Cygwin... – beroe Sep 17 '13 at 01:55
  • An important practical difference is that msysGit comes with "git bash"(MSYS). This is a bash shell that runs on windows - and it works great. You don't have to use this bash shell for git related stuff, but you can. It's nice to be able to use grep and sed and other nice unix commands. – goat Jan 12 '14 at 17:22
  • 2
    Why keep the wrong info for posterity? Who cares that you were wrong initially? – async Oct 31 '14 at 09:40
  • There is no reason to leave the original version. I think this answer should be updated to reflect the best knowledge (and delete the incorrect knowledge). – Peter Mortensen Sep 12 '18 at 08:15
16

(Now) they are the same (as of May 2015 but likely a bit earlier):

"msysgit" and "Git for Windows" have merged under the name "Git for Windows." msysgit.github.io now hosts "Git for Windows" and the main git download site git-scm.com lists msysgit.github.io as the maintained build for windows.

From the updated wiki:

... 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, and using the name "Git for Windows" for the installer aimed at "end-users" and "Git for Windows SDK" for the development environment targeting Git for Windows developers).

Bryan P
  • 5,900
  • 5
  • 34
  • 49
  • How can they be the same, when git-for-windows is a fork of msysgit, git-for-windows is hard under development and msysgit is not, and git-for-windows uses Git 2.4? – BlackEye May 19 '15 at 12:31
  • 1
    @BlackEye. Sounds like an interesting history. My answer was just pointing out that these projects have *now* merged (as described on the project wiki), despite their history. Seems this is relevant for many people trying to sort out which one to use now. – Bryan P May 19 '15 at 16:46
4

Git for Windows is newer than msysGit. If you want to use Git version 2.x you need to download from https://github.com/git-for-windows/git/releases. https://github.com/msysgit/git/releases is used for Git version 1.x.

Some technical details from https://github.com/git-for-windows/git/wiki/FAQ

Git for Windows used to be developed using the development environment called "msysGit", but roughly coinciding with Git 2.1, msysGit was superseded by a new development environment: the Git for Windows SDK.

Tobias Schultze
  • 1,670
  • 1
  • 10
  • 5
4

Here is the excerpt 'Official README'

"portable" version of Git for Windows (MSysGit) does not need tobe installed. It will run from any directory you place it in, evenonto a USB thumbdrive. It will not write permanent entries into the Windows registry. It does not need administrator privileges to "install". This version does not offer you the convenient right-click context menu entries "Git GUI Here" and "Git Bash Here", because these would require to add entries into the Windows registry.

3

As many answers in this post are old.

As on Nov 2015,

msysGit-based Git for Windows 1.x is now superseded by Git for Windows 2.x.

Git for Windows and git-scm both points to same download location for their binary

Download Location:

https://github.com/git-for-windows/git/releases/download/v2.7.1.windows.2/Git-2.7.1.2-64-bit.exe

Ravi Parekh
  • 5,253
  • 9
  • 46
  • 58
2

From what I understand Git on Windows is the project consisting of the four bulletpoints below.

Taken directly from https://github.com/msysgit/msysgit/wiki:

Git on Windows

To make the milky 'soup' of project names more clear, we say like this:

  • msysGit - is the name of this project, a build environment for Git for Windows, which releases the official binaries

  • MinGW - is a minimalist development environment for native Microsoft Windows applications.

  • MSYS - is a Bourne Shell command line interpreter system, is used by MinGW (and others), was forked in the past from Cygwin

  • Cygwin - a Linux like environment, which was used in the past to build Git for Windows, nowadays has no relation to msysGit

netdigger
  • 3,659
  • 3
  • 26
  • 49
  • 1
    Isn't there one bullet missing: "git for windows"? What the average Windows GIT user installs to use GIT. https://github.com/msysgit/git – Tom Dec 11 '13 at 19:23
2

The titles on the download page have just been updated so that the "Git for Windows" versions are fully identified. There is now both an 'installed' version (with right click menu options), and a Portable version that runs direct from a memory stick etc.

Philip Oakley
  • 13,333
  • 9
  • 48
  • 71
1

This is a more clear general comparison right from their site https://github.com/msysgit/msysgit

Git for Windows is the software package that installs a minimal environment to run Git on Windows. It comes with a Bash (a Unix-type shell), with a Perl interpreter and with the Git executable and its dependencies.

On the other hand, msysGit is the software package installing the build environment that can build Git for Windows. The easiest way is to install it via the net installer.
PositiveGuy
  • 46,620
  • 110
  • 305
  • 471
1

Git for Windows is probably what you want. It includes the following primary features:

Git BASH Git for Windows provides a BASH emulation used to run Git from the command line. *NIX users should feel right at home, as the BASH emulation behaves just like the "git" command in LINUX and UNIX environments.

Git GUI As Windows users commonly expect graphical user interfaces, Git for Windows also provides the Git GUI, a powerful alternative to Git BASH, offering a graphical version of just about every Git command line function, as well as comprehensive visual diff tools.

Shell Integration Simply right-click on a folder in Windows Explorer to access the BASH or GUI. The Git-Cheetah plugin also provides a TortoiseSVN-like interface that displays Git functions directly on the context menu.

The following is available as a separate download from the same page...

msysGit is a build environment that includes all the tools necessary for developers who want to contribute by writing code for Git for Windows.


Git BASH delivers a familiar environment for Linux experts who occasionally need to use a Windows machine -- even if they don't need git itself. It starts with the BASH prompt and adds a collection of core utility programs such as ssh, find, grep, vi, awk, and of course git.

Brent Bradburn
  • 51,587
  • 17
  • 154
  • 173
  • [Integrating the Git bash into Console](https://lostechies.com/jimmybogard/2010/04/05/integrating-the-git-bash-into-console) – Brent Bradburn May 22 '15 at 16:48
  • By now, you might be more interested in [Windows Subsystem for Linux](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux). – Brent Bradburn Sep 17 '19 at 19:26