Thoughts
I think if I taught git I would teach "advanced" features like merge and rebase before teaching branches. Merging and rebase make more sense
when you think of them as acting on commits, not on branches.