I think you're raising a *very* valid point.

Maybe should we add some overloads accepting a committish (as a string) and a Branch to keep the HEAD attached when that makes sense.

There's some similar guessing logic in the `Checkout` code.

/cc @jamill