Worktree-aware git checkout. Works identically to git checkout <branch>, but if the target branch is checked out in another worktree, it automatically:
- Stashes uncommitted changes in that worktree
- Removes the worktree
- Checks out the branch in the current working tree
- Restores the stashed changes