Git is all about the commits. Commits have parentage. Commits are shared. And some
commits have human-friendly names. Tags are one kind of names, and are semi-static. Branches are a different kind of name, but generally move over time. Also, branches are repo-local, where tags are generally shared.
I think if you define carefully what you want to know, there are lots of options on "git log" that will give you what you want. But in a proper repo, branches are generally rather ephemeral (provided you are using topic branches properly), so the "history of a branch" isn't all that useful.