The whole point of software is to reduce or manage complexity. Git cli fails miserably at this.
Google's perforce with mercurial client has been the best VCS I've ever used and I now have a deep hatred of everything that isn't that system, especially git.
That is, version control is difficult and git is a powerful tool that exposes that difficulty and the many (complex) ways to approach version control.