I nearly spat out my drink. Git is many things but those aren't the first two words that would leap into my head.
I nearly spat out my drink. Git is many things but those aren't the first two words that would leap into my head.
What is complex is the hundred features and commands it provides on top of that model.
I strongly disagree.
Let's list just basic git concepts that you're likely to encounter fairly early on: the working tree, staged commits, branches, remotes, stashes, detached heads, tags, submodules, merge conflicts, squashed commits, fast-forwards, rebasing, cherry-picking.
Some of these you could choose to ignore - rebasing and submodules - but on the whole you need at least a cursory understanding of everything on that list to get by without a git angel to get you out of trouble. I still have a person I phone when anything out of the ordinary happens and I've taught git to other people!
I'm also genuinely surprised that people use GUI for git. For merge I understand, but for all other tasks cmdline is easier and faster.
Which is exactly why people want better clients than the official git cli client.