Git bash is a command-line git client for windows.
Pro One of the most powerful ways to use git
Using CLI gives access to every single git function available, thus providing complete flexibility in managing git.
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 acquire the desired result.
Pro Supports multiple platforms
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.
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 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 Cross platform GUI tools
- git citool
- git gui blame
Con Steeper learning curve as compared to a GUI solution
As the user must learn the CLI commands, this makes it a slightly harder than using a GUI tool.
Con Difficult to overview complex project histories
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.
Con Recalling is more difficult than recognizing
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.