I have tended to use a gui to view the state of the repo (even gitk, which is bundled with git, is better than the CLI for this IMO), and the CLI to manipulate it. Inspecting the state of the repo through the CLI is mostly slower and less clear than through any GUI from my experience, except in the case of complex queries in a repo with a complicated branch structure (I at one point had a linux repo which had something like 7 different remotes for the purposes of tracking the differences between different branches of the kernel in embedded development. GUIs will struggle to show that tree sensibly)