Hotfix while half-done work is on the bench
The interruption pattern. You are mid-feature on feature/profile-page, with two hours of unfinished work in your editor. The on-call channel pings: production has a critical bug; main needs a one-line fix shipped immediately. The wrong move is to "just commit what I have" or to lose the in-progress work. The right move is well-rehearsed: shelter the in-progress work, branch, fix, ship, return. Total elapsed time: 15 minutes if practiced.
Two viable shelters. Stash if the work is small and short-term: git stash push -u -m "WIP: profile-page" saves both staged and unstaged work plus untracked files, leaving the tree clean. Worktree if you anticipate the hotfix taking more than half an hour, or if you want to keep editing the feature in another window: git worktree add ../repo-hotfix hotfix/login-crash main creates a parallel checkout where you can work without disturbing the feature one.
The hotfix itself is the same as any small change: branch off main, write the fix as one commit with a clear message, push, open a PR with the urgency reason in the description, get a fast review (one approver if branch protection allows), merge, deploy. Skip ceremony where ceremony is the wrong tool — but never skip the test that demonstrates the fix actually fixes the bug. A hotfix that "should work" without verification is how production gets the second outage.
The return is where teams botch this. After the hotfix lands and deploys, you must come back to the feature and pull main into it: the feature branch was based on the pre-hotfix main and now lags behind. git switch feature/profile-page, git stash pop (if you stashed) or cd ../ back to your normal worktree, git fetch origin, then git rebase origin/main. Conflicts arise only if the hotfix touched the same lines as your in-progress work, which is rare for a small fix. Keep working.