Git is a hack that was created by a bunch of kernel hackers with a UI that wasn't originally meant to be the final user-facing UI. If you have done what the kernel devs do, you would understand git. That includes:
- Taking snapshots of the source tree (perhaps as a zip or tar), along with a file that indicates what snapshot was for, you understand trees.
- Applying patch queues (with something like quilt), you understand commits, rebasing and cherrypicks.
- Reversing a patch - you get reverts.
- Modifying a patch - you get commit amends.
- Do a 3 way merge - that's a git merge.
There were a whole bunch of ad-hoc kernel dev operations that got consolidated in git. Honestly, a similar tool should rethink the design to be more intuitive, orthogonal and have fewer concepts that cover all use-cases. (No. xkcd doesn't apply here. Git does everything. It just needs a better design).