fix(trail): fetch existing remote branch before create
main·
Commit

Address PR review feedback:
- validate branch names before trail create reaches git subcommands
- reject leading-dash branch names before invoking git
- when a requested branch is missing locally but already exists on origin, fetch it instead of creating a new local branch at HEAD
- make the non-fast-forward hint refer to the target branch
Entire-Checkpoint: b73b63b3e546
Checkpoints
Checkpoint 1