You can checkout a commit hash and then create a branch from it if you want. You'll be interacting with the tree at that point in the history.
If you run git checkout <hash>
you'll update the tree to that point in the history. Depending on the git client you're using you'll get a message like
> git checkout <hash>
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>