I personally use the terminal for all git commands, and only use tools for specific use-cases.
The terminal experience is the same on all platforms, on all machines, and is always available (for the most part hehe). The same can’t be said for any GUI experience. You can dive into using just the GUI and should be fine, permitting you have access to the GUI tool.
The main thing about committing (no pun intended
) to a specific tool to do your bidding is you become reliant on that tool, and it adds another layer of abstraction over what needs to be done, forcing you to learn more to do the same.
As said above I can’t talk about other companies, but I can talk about the general idea of adding more tools to your toolbox. The more extra tools you use (git-guis, frameworks, languages, operating systems, software, etc) the more you need to learn and potentially maintain. I believe the perfect tool is the tool that is flexible enough to handle future jobs, while being the simplest for the current job. This way you can get going right now, without becoming a crutch down the line.
I believe the git-cli is simple enough, once you get the concepts down, and obviously its powerful enough to handle any future job. As such its the perfect tool for the job. You can add more tools for extra fluff and usability, but generally the git-cli can do what you need, when you need it.
Finally, the one thing I will point out that is better to leave to GUI’s is comparing diffs. Using a CLI is possible, and totally fine, but having a GUI helps, especially since this is very much a visual task, rather than an action oriented one.