▶ Watch this video on YouTube (opens in a new tab)
Branching always sounds harder than it is. You give it a name, click create, and you're done. That part takes ten seconds.
The part that actually trips people up is the local-versus-remote thing. Your shiny new branch doesn't exist on GitHub until you push it. Until then it lives on exactly one machine — and if that laptop takes a swim, so does your work. So publish your branches unless you genuinely don't care about losing them.
Here's the bit worth burning into your memory: a merge happens locally first. You merge your feature branch into main, everything looks great, and then you walk away thinking you're done. You're not. The change isn't on GitHub until you push the merge. Same story with cleanup — deleting a branch has a local copy and a remote copy, and they're two separate chores.
In the demo I fix the comically gigantic "lucky number" on a feature/ branch, merge it back to main, and tidy up after myself. Watch the video for the full walkthrough.