This visual execution compares git stash and git worktree for managing uncommitted changes when switching branches. First, if you have changes and want to switch branches, git requires a clean working directory. You can save changes temporarily using 'git stash', which cleans your directory and stores changes safely. Then you switch branches with 'git checkout' and reapply changes with 'git stash pop'. Alternatively, you can create a new worktree with 'git worktree add' to have a separate folder checked out to another branch. This allows working on multiple branches at once without switching or stashing. The execution table shows each step's state changes, including working directory status, current branch, stash stack, and worktrees. Key moments clarify why stashing is needed before switching, when worktrees are better, and what happens to stash after popping. The quiz tests understanding of working directory states, branch switching steps, and when to use worktrees. The snapshot summarizes the decision: stash for temporary save and switch, worktree for parallel work.