You don't really have to understand the data structures any more than in any other VCS.
If you're on Subversion and ignore that the repo is basically a counted list of big file trees with properties on the nodes, you won't get branching right.
If (FSM forbid) you're on MKS and ignore that it keeps per-file version histories somewhere in the belly of the expensive server, you'll try silly things like creating new files on a branch.
And for Git, you learn that there are commits, trees and refs.