However, Pro Git is not an ideal resource for newbies unless they are highly motivated or receiving generous training. A simple graphical representation of your own repo goes a long way towards establishing a mental model of what Git is doing internally — which is in my view the chief insight of mjburgess's post at the top of this thread.
FWIW, the Git website links to some videos and external tutorials, which might be of use: https://git-scm.com/doc
Something went very wrong here early on. But, lacking a time machine and a handgun, it's clearly unfixable.
Learning Git's infinity CLI options won't teach you that.
The fact there is a book on the subject speaks volumes about how bad it is.
Again, this is not to bash Git. It's a bash on the industry for selecting tool that requires engineers to spend time and effort on non-value adding part of their work rather than offering a solution so simple you would most of the time not even think about it.
The software analogue would be that in order to use the platform default List and Dictionary data structures you would need to manually manage the links between the data nodes.
Or to use text editor you would occasionally tweak the rope datastructure or equivalent. Etc.
[1] https://git-scm.com/book/en/v2