Branch is semantic. The true unit is commit and the tree is applying a set of commits. Branching is just selecting a set of commits for a tree. There’s no wrong or right branch, there is just the matter of generating the wrong patch
That's why git also offer tags. Tags are immutable.
That's an important distinction.
tl;dr you lose some semantic (and practical capabilities, UX and effectiveness) when you don't capture branch information at commit-level