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.
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.
Git CLI works exactly the same as it does on Windows, Linux, or Mac OS X: the user will always have the option to run the Git via command-line with the same arguments.
While the you can run git log --graph --all to display all the version history of the project with the same details as a GUI client would, it can still be a bit hard to make out. Since the GUI can use true shapes like lines and dots, the command line has to use pipes and slashes.
Although there's autocompletion for commands, it still requires recalling at least the beginning of a command, whereas all that's required when using a GUI is recognizing the desired outcome.
Oh-my-zsh is a dead simple configuration and management for zsh (which is a pretty powerful shell), allowing even first time users to take advantage of the most powerful features it offers.