When comparing Windows Subsystem for Linux vs Git for Windows, the Slant community recommends Windows Subsystem for Linux for most people. In the question“What are the best collections of Unix libraries for Windows?” Windows Subsystem for Linux is ranked 1st while Git for Windows is ranked 5th. The most important reason people chose Windows Subsystem for Linux is:
There's no VM overhead because WSL is not a VM.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Light resource usage unlike virtual machines
There's no VM overhead because WSL is not a VM.
Pro Includes common UNIX utilities
Windows Subsystem for Linux comes with common UNIX utilities such as grep
, awk
, etc.
Pro Supports multiple Linux distributions
WSL supports multiple Linux distros, and you can use the distro's package manager (e.g. apt-get
on Ubuntu) to install other tools and binaries.
Pro Runs native Linux tools
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
Cons
Con Too complicated
It's complicated to use as it requires moving files to/from wsl to base windows.
Con You can't mix and match installations - utilities added to the subsystem are only available in the subsystem
If you install node in the Windows subsystem, it is not available in Windows, only in the subsystem and vice versa.
Con Terrible UI
Although it does most of what needs to be done, the actions are not obvious. It is definitely not user-friendly.