There are two competing Git packages for Windows: a Cygwin-based Git and a “native” version called msysGit.
Originally, only the Cygwin version was supported and msysGit was experimental and unstable. But as this book went to press, both versions work well and support an almost identical set of features. The most important exception, as of Git 1.6.0, is that msysGit does not yet properly support git-svn. If you need interoperability between Git and Subversion, you must use the Cygwin version of Git. Otherwise, the version you choose is a matter of personal preference.
If you aren’t sure which one you want, here are some rules of thumb:
If you use Cygwin already on Windows, use Cygwin’s Git because it interoperates better with your Cygwin setup. For example, all your Cygwin-style filenames will work in Git, and redirecting program input and output will always work exactly as expected.
If you don’t use Cygwin, it’s easier to install msysGit because it has its own standalone installer.
If you want Git integration with the Windows Explorer shell (for example, the ability to right-click on a folder and pick “Git GUI Here” or “Git Bash Here”), install msysGit. If you want this feature but prefer to use Cygwin, you can install both packages without harm.
If you’re still in doubt about which package to use, install msysGit. Make sure you get the latest version (18.104.22.168 or higher), as the quality of Git’s Windows support steadily improves in successive versions.