When I was first learning git, I found an online visualizer like this [0] that really helped make make concrete the ideas of git history being a graph, and what different operations did on that graph.
There was still obviously the issue of memorizing the commands, but at least I knew what the commands were doing on a deeper level.