Suppose that a remote repo `remote` has a branch `spanking_new_branch` that's not represented/referenced in any way in the local repository. I want to create a local branch that tracks `remote/spanking_new_branch`.

When I search online for ways to do this I only find ones that are based on `git checkout`. Is there a way to do it using `git branch` only, without using `git checkout`?

(The motivation for this question is only to understand `git` better.)