This is timely; I’m getting ready to shepherd our doc team through a transition from SVN to Git. And I’m taking the approach with the command line of “those who know, know”, and what I’ll actually be teaching people with is the Tortoise Git GUI. They’re already familiar with Tortoise SVN, and the GUI hides some of the complexity. I’m totally taking advantage of that.
One bit of complexity you didn’t mention that I’ve seen people trip over is two-phase commit. You think that “commit” means “put my thing in the repository”, but it’s still local to you until you also “push” to the remote branch. Which maybe makes sense if everybody’s working on master, I guess, but in a “do your feature on your branch” model, it’s redundant and beginners will miss it. So I was delighted when I saw that this GUI —and I’m more of a command-line person, to be clear — can be set to do the commit and push as one step.
They’re still going to need to know WTF “rebase” is. Oh well. At least I can lock master from errant pushes.