When comparing Git for Windows vs GitHub Desktop, the Slant community recommends Git for Windows for most people. In the question“What are the best Git clients for Windows?” Git for Windows is ranked 15th while GitHub Desktop is ranked 17th. The most important reason people chose Git for Windows is:
By using the CLI, one is given access to every single git function available, thus providing complete flexibility in managing git.
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 Great GitHub integration
This is the official GitHub desktop client built by the GitHub team.
Pro Simple, streamlined GUI
GitHub Desktop uses an extremely simplistic two-panel view. It's not capable of complex historical visualisations like other GUIs, but it is very easy to use (especially for git novices).
Pro Supports pull requests
In addition to being able to seamlessly and easily integrate with all of GitHub's features, it also supports forking and submitting pull requests on any open source project hosted on GitHub.
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 Limited
Can't handle complex tasks. The Help Manual advises to use command-line Git instead.
Con Does not support multiple Remotes for a repo
Only allowed to assign one URL as remote. To manage/sync/fetch other remotes, use command-line Git instead.
Con Overly Simplified UI
UI that is designed not to support the needs of power and enterprise users. Management of more than five repos is next to impossible.
Con Buggy
Poster child for authors' programming ideology (FRP), likely the cause for the odd quirks and bugs it has.
Con Not free/libre
This application is proprietary, and thus cannot be modified or freely distributed.
Con No Linux support
There's no Linux version of this client.
Con Non-GitHub repositories are not fully supported
Since this is mainly a GitHub client, other repositories are not fully supported and with as many features and setting up a repo hosted anywhere else but GitHub is troublesome.