
The Five Steps That Make GitHub Click
How to Actually Use GitHub is a concise, five-minute audio course for busy professionals who need to start collaborating on code without wading through lengthy documentation. Built as a two-speaker podcast dialogue, it covers the complete core workflow that every GitHub user relies on daily, from an empty repository all the way to a merged pull request. The course explains what a repository is and why it matters: a repository stores your project files along with their full version history, giving you a permanent record of every change. From there, you learn how branches let you isolate work on new features or fixes without touching the main line of code, so experiments and edits stay safe and reversible. The course then covers commits, the snapshots that record the state of your code at each meaningful point, and explains how they form the building blocks of your project's history. Rather than abstract theory, the course is organized around five concrete steps you can perform on your own projects: create a repository, add a branch, make a commit, open a pull request, and merge it. By the end, you understand how pull requests propose changes, invite code review from teammates, and finally merge approved work back into the main branch, giving you a repeatable, practical workflow you can apply immediately.
The Core GitHub Workflow: Repo → Branch → Commit → Pull Request → Merge
The Core GitHub Workflow: Repo → Branch → Commit → Pull Request → Merge
Speaker 1
So picture a developer, Friday afternoon, deadline in an hour, and she just overwrote the one file the whole release depends on. How did she get there?
Speaker 2
She had no version history. No repository. That's exactly what a repository prevents — it holds the project files and their full revision history.
Speaker 1
So it's not just a folder of code?
Speaker 2
No. It's a folder plus a permanent record of every change, plus a place to discuss and manage the work. Lose a file, the history still has it.
Speaker 1
Mm. Okay, so the repo is step one. What comes next?
Speaker 2
A branch. Think of it like a copy of the main line where she could have worked safely.
Speaker 1
Why not just edit the main line directly? Faster, right?
Speaker 2
Faster until Friday afternoon happens. Changes on a branch don't enter the default branch until they're merged. So her experiments stay contained.
Speaker 1
So the main line never even sees her edits until someone decides?
Speaker 2
Exactly. That's the whole point of GitHub's flow — you create the branch before making changes.
Speaker 1
And while she's on the branch, she saves her work how?
Speaker 2
With commits. A commit records the changes on the branch, plus a message describing what's in it.
Speaker 1
Any commit message works?
Speaker 2
A descriptive one. GitHub recommends small, meaningful commits — the messages become a running history future contributors can read.
Speaker 1
Like a lab notebook, almost.
Speaker 2
That's a good analogy. And after committing, she pushes the branch to GitHub so she can propose the changes for review.
Speaker 1
Wait — propose? She can't just put them in?
Speaker 2
the pull request. It proposes changes from one branch into another, and gives collaborators a place to review and discuss before anything merges.
Speaker 1
Give me a concrete example of what that looks like.
Speaker 2
Suppose she fixed a broken login button. She opens a pull request: the base branch is main, the branch with her fix is the compare branch. Title, description, what changed and why.
Speaker 1
And if the fix isn't finished yet?
Speaker 2
She can open it as a draft — signals it's not ready for review. And, this is the neat part, any commits she pushes later to that same branch get added to the pull request automatically.
Speaker 1
Automatically?
Speaker 2
Automatically. Reviewers comment, she responds with more commits, all in one place.
Speaker 1
So what actually blocks a bad change from going in?
Speaker 2
A repository can require an approving review before merging. It can also require status checks to pass — automated tests, for example.
Speaker 1
So merging isn't just clicking a button—
Speaker 2
Not yet. Once requirements are met, someone with write permission merges it. And a draft pull request can't be merged at all.
Speaker 1
Okay, the merge itself. Is there more than one way to do it?
Speaker 2
Three ways, actually. Create a merge commit, squash the commits into one, or rebase them onto the base branch.
Speaker 1
And these differ how, in plain words?
Speaker 2
The default merge method uses what's called the --no-ff option — it creates a merge commit that preserves the branch's commit history.
Speaker 1
Whereas squash and merge —
Speaker 2
Combines everything into one single commit. The individual commits don't appear separately on the base branch. Rebase and merge does the opposite — adds them individually, no merge commit.
Speaker 1
So the team can enforce which method contributors use?
Speaker 2
A repository can configure which methods are allowed, or enforce one. Some teams are very opinionated about this.
Speaker 1
I believe it. And after the merge, is the branch just... left there?
Speaker 2
Deleting it is optional — it keeps the branch list tidy. GitHub can even auto-delete it after merging if that option's enabled.
Speaker 1
So our Friday developer — the whole loop would've saved her?
Speaker 2
The whole loop. Branch, commit, pull request, address feedback, merge. It's iterative — you run it again and again.
Speaker 1
Five steps, and none of them touch the main line until everyone agrees. No wonder it's the standard.
Speaker 2
And now she'd have history, review, and a merge button instead of one very bad Friday.
