When comparing Git for Windows vs Cygwin, the Slant community recommends Cygwin for most people. In the question“What are the best collections of Unix libraries for Windows?” Cygwin is ranked 2nd while Git for Windows is ranked 5th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro The most powerful way to use git
By using the CLI, one is given access to every single git function available, thus providing complete flexibility in managing git.
Pro Offers three kinds of interfaces
Git for Windows includes a command-line interface in the form of Git BASH, a graphical interface in the form of Git GUI and a context menu interface.
Git BASH offers the complete power of git, Git GUI aims to cover all git functionality (though it falls a bit short) in a graphical way and the context menu enables quick access to simple commands.
Pro Great community support
Since most devs invoke git via CLI, there's a higher chance of getting an answer to a CLI-based git problem than that which is GUI-based.
Pro Can generate an RSA key pair
It's possible to generate an RSA key pair using Git BASH. Instructions on how to do so can be found here.
Pro Gives a better overview of how git functions
By using the git from the command line, it's possible to learn how it functions and how best to get the desired result.
Pro Visual representation of commit-history is possible
Even a visual representation of various branches and how they're merged is possible.
To visualize history:
git log --graph
Pro Additional packages available via Cygwin Ports project
Pro Better default terminal
Cygwin's default terminal "Mintty" is far better than CMD.
Pro You can run graphical applications
It has X Server.
Cons
Con Terrible UI
Although it does most of what needs to be done, the actions are not obvious. It is definitely not user-friendly.
Con Many incompatibilities
A lot of tools don't actually work with Cygwin, and documentation is often sparse, so for many use cases, it's worth the small bit of extra effort to just run a full virtual machine.