I think it’s mostly due to how git is taught. Once I told my junior developers that each commit was a node in a linked list and merge means merging 2 linked list, they can understand 90% of the commands. But most git tutorial focus on syntax instead of data model.