gitless gives each branch its own separate worktree (see `git worktree`), and saves/restores them when you switch branches.
Also, there's no harm in creating "temp" commits. If you are having multiple branches, you probably want to give your current state a name - which is what a "temp" commit is.