Anatomy of a pull request: tabs, description, checks
Read a pull request page top to bottom: base and compare branches, draft and ready, the four tabs, the description, reviewers and labels, linked issues, checks and the merge box.
Lesson 7 of 15~36 min of learningIncludes ~22 min for questions and tasks
Contents1 of 64 steps
Alex Tutor
Ready for review and asked two people to review it. One of them is Oscar, our backend developer. The other one is you.You
Daniel
Alex Tutor
Alex Tutor
- Open
Fix checkout button after cart edits#134
Daniel wants to merge 2 commits into main from fix/checkout-button
You
Open badge, and a line underneath: "Daniel wants to merge 2 commits into main from fix/checkout-button".Alex Tutor
main is the base branch, where the changes will go. fix/checkout-button is the compare branch, where they come from. GitHub also draws it as main ← fix/checkout-button.Daniel
main. Some pull requests go into another feature branch, and some teams merge into develop first. Always read the arrow before you celebrate.Alex Tutor
Question 1
Another pull request's header reads: "wants to merge 3 commits into feature/gift-wrap from feature/gift-wrap-copy". It gets merged. Where do the three commits end up?
You
Draft. What changed, apart from the colour?Alex Tutor
Ready for review button instead.Daniel
Alex Tutor
Convert to draft link in the sidebar sends an open pull request back to draft, for example when the author finds a problem mid-review.You
Alex Tutor
Question 2
Pull request #136 shows this badge. If a reviewer approves it now, the author can merge it straight away.
- Draft
Add autumn sale banner#136
Alex Tutor
Conversation, Commits, Checks and Files changed. Each shows a counter.Conversation is the timeline: the description first, then comments, reviews, new commits and status changes in time order. At the bottom sits the merge box.Commits lists the branch's commits, here two: 3a9d1c4 "Reproduce bug in a test" and b7e4a05 "Re-enable button after cart edits". Checks shows the automated runs with their logs.Alex Tutor
f02a6d4Update FAQ answers3a9d1c4Reproduce bug in a test8be2f70Add cat treats bundleb7e4a05Re-enable button after cart editsfix/checkout-button6f2c8a1Raise free-delivery threshold to 1000 UAH (#133)a7d93e4Rewrite delivery page copy (#132)main
Commit graph, oldest first: What the Commits tab of #134 covers 1. commit f02a6d4 on main "Update FAQ answers" 2. branch fix/checkout-button starts from commit f02a6d4 3. commit 3a9d1c4 on fix/checkout-button "Reproduce bug in a test" (highlighted) 4. commit 8be2f70 on main "Add cat treats bundle" 5. commit b7e4a05 on fix/checkout-button "Re-enable button after cart edits" (highlighted) 6. commit 6f2c8a1 on main "Raise free-delivery threshold to 1000 UAH (#133)" 7. commit a7d93e4 on main "Rewrite delivery page copy (#132)"
Files changed is the diff of the whole pull request: every file it touches, removed lines in red, added lines in green, just as in module 1.Alex Tutor
You
styles/checkout.css? Why does a bug fix change the styles?Daniel
Alex Tutor
Question 3
You want to answer four questions about #134. Match each question with the tab where you'll find the answer.
Tap an answer, then tap the row it belongs to. You can also drag.
- Did the automated tests pass, and what does the log say?
- Which line was added to
copy/cart.json? - What did Oscar write in his review?
- In what order did Daniel make his changes, step by step?
Answers left to place
Alex Tutor
Conversation. The first comment is the description Daniel wrote when he opened the pull request. For a reviewer it's the most useful text on the page.Alex Tutor
You
Alex Tutor
Daniel
Alex Tutor
Alex Tutor
Question 4
Which of these belong in a good pull request description? Select all that apply.
You
Alex Tutor
Fixes is a closing keyword: when #134 is merged into the default branch, GitHub closes #131 on its own.Closes #131, Fixed #131, Resolves #131. Without a keyword, "#131" is only a reference. Both pages mention each other, and nothing closes.Daniel
Development. As of 2026 it says "Successfully merging this pull request may close these issues" and lists #131.You
Daniel
Alex Tutor
Question 5
Pull request #134 says Fixes #131 and targets main, the default branch. When does GitHub close issue #131?
Alex Tutor
Reviewers: people asked to review, here Oscar and you. Assignees: who is responsible for getting the pull request done, usually the author, so Daniel.Labels: coloured tags for sorting and filtering, here bug and checkout. Projects and Milestone place the work in the team's plans; that's module 5. And Development holds the linked issue.You
Daniel
main need one approval before a merge. Two is our team habit. An engineer approves the code, and anything customers will see also gets a product review.Alex Tutor
Alex Tutor
Question 6
Which statements about the sidebar of #134 are true? Select all that apply.
Alex Tutor
build (does the site still build?), test (do the automated tests pass?) and preview.Alex Tutor
build
Successful in 1m
test
Successful in 3m
preview
Preview deployed: View deployment
Daniel
build and test are continuous integration, CI for short: robots checking every change. And preview is the one for you. It deploys this branch to a temporary copy of the site with its own link.You
Alex Tutor
Conversation. The merge box sums up whether the pull request can be merged: reviews, checks and conflicts.Alex Tutor
Question 7
Daniel pushes one more commit to fix/checkout-button, and the checks now look like this. What does it tell you?
build
test
preview
Alex Tutor
You
Alex Tutor
Daniel
Alex Tutor
Question 8Short answer · AI-checked task
Support asks: "Pull request #134 says 'Fixes #131'. Does that mean the checkout button is fixed?" #134 is open, waiting for review, and CatChow deploys every merge into main within minutes. Write a 2–3 sentence answer without Git jargon.
Write your answer and get a score with feedback from our AI reviewer.
Log in to get AI feedbackAlex Tutor
You
Daniel
Alex Tutor
Alex Tutor
Question 9Case · AI-checked task
Rewrite the description of pull request #149 so that a reviewer knows what changed, why, how to check it and what to decide.
Pull request #149 "product page fixes", main ← fix/product-page. Description: "fixed some stuff, pls review".
What the tabs show:
- The issue it answers: #143 "Product cards round prices up", opened by support; the pull request doesn't mention it. Cards show 250 UAH, the cart charges 249.99 UAH, and customers ask which price is right.
components/ProductCard.tsx: cards now show the exact price, 249.99 UAH instead of 250 UAH.components/ProductCard.test.tsx: a new test for price formatting.copy/product.json: the label on out-of-stock products changes from "Sold out" to "Back soon".- Checks:
build,testandpreviewpassed; the preview link works.
Write the new description with What, Why, How to test and Screenshots. Point out anything reviewers need to decide on.
Write your answer and get a score with feedback from our AI reviewer.
Log in to get AI feedbackYou
Alex Tutor
That’s the lesson. You answered every task — nicely done.