Day 1 - Stretch Challenge 09

Merge Day

Final PR readiness, review signals, merging, and verifying linked issue closure.

Challenge Coach audio

Challenge Coach Transcript

Alex and Jamie walk through this challenge step by step.

Alex: Welcome back. Challenge 09 is Merge Day, and it is exactly what it sounds like: your Day 1 pull request becomes part of the main branch.

Jamie: This is the moment where the work stops being a practice change on a side branch and becomes the shared version of the repository.

Alex: Yes. In your private Learning Room repository, you have already filed an issue, made a branch, committed a change, and opened a pull request. Now you are checking that the pull request is ready, merging it, and confirming the linked issue closed the way you expected.

Jamie: I like that this is not just click the big green button and hope. There is a final check before the celebration.

Alex: Exactly. Merging is a real collaboration signal. It says the change was reviewed enough, the checks are acceptable, and the repository is ready to include your work on main.

Jamie: Before we touch the merge button, what should be true about the pull request?

Alex: Start with the basic readiness signals. Your PR should not have conflict markers like less-than signs, equals signs, and greater-than signs from a merge conflict. If GitHub says the branch has conflicts, pause and go back to the conflict workflow before merging.

Jamie: And the pull request description still matters here, right? Even this late?

Alex: Very much. The description should say what changed, why it changed, and which issue it closes. The key line is `Closes #XX`, with the number of the issue you filed earlier, because that text is what lets GitHub close the issue automatically when the PR merges.

Jamie: So if I wrote a vague description in Challenge 6, Merge Day is a good time to clean it up.

Alex: Yes. A strong PR usually has a short summary, a list of changes made, related issues, testing notes, and sometimes screenshots or recordings if the change is visual. For today's Learning Room work, it may be simple, but the habit scales to larger projects.

Jamie: Let's say I have my repo open and I am trying to find the PR. What is the path?

Alex: Open the Pull requests tab in your Learning Room repository, then open the PR you created in Challenge 6 or the later PR you are using for Day 1. If GitHub keyboard shortcuts are enabled, the repository shortcut G then P can move you toward the pull request list. You can also arrive from a notification, from the bell inbox, from GitHub Desktop opening the PR in the browser, or from the GitHub CLI with a command like `gh pr view --web`.

Jamie: Once I am on the PR page, I sometimes feel like there are too many tabs and regions. Where do I read first?

Alex: Begin on the Conversation tab. That is where you find the description, the review discussion, bot comments, status checks, and the merge area. With a screen reader, headings and landmarks are your friends here; in NVDA, browse mode is usually best for reading, and focus mode is for typing in fields.

Jamie: Then the other tabs are for confirming the details?

Alex: Right. Commits shows the commit history. Checks gives more detail about automated tests and validation. Files changed shows the diff, where added lines are marked with plus, removed lines with minus, and unchanged lines give context. If there are review comments, unresolved conversations, or suggested changes, read those before merging.

Jamie: What review signals should make me stop instead of merge?

Alex: If the PR is still a draft, do not treat it as ready until it is marked ready for review. If a reviewer requested changes, read the comments and respond with another commit or a reply. If required checks are failing, open the Checks tab or the bot comment and fix the issue first.

Jamie: And if the checks are green, the description links the issue, and the diff looks right, then we are looking for the merge button.

Alex: Yes. Near the merge area, GitHub should offer a green Merge pull request button when the PR can be merged. Some repositories use branch protection, which can require a review, passing checks, or facilitator approval before that button becomes active.

Jamie: What about merge options? Sometimes I hear merge commit, squash, and rebase, and I freeze.

Alex: For this challenge, use the default option your repository presents unless your facilitator tells you otherwise. A merge commit preserves the branch history as a merge. Squash and merge combines the branch's commits into one commit. Rebase and merge replays the commits onto main. Those are maintainer choices; today, your main responsibility is to avoid merging before the PR is ready.

Jamie: All right. Walk me through the actual merge, slowly.

Alex: Open the PR, move to the merge area, and activate the green Merge pull request button. GitHub may ask you to confirm, so activate Confirm merge. After that, the page should report that the pull request was successfully merged, and the PR status changes to merged, often with a purple merged icon.

Jamie: And if there is a dropdown asking how to merge?

Alex: Choose the normal merge option unless your facilitator has given a different instruction. In some repositories you may also see auto-merge, which waits and merges later after required checks pass. That can be useful in professional work, but for Challenge 09, most learners are doing a direct merge when everything is already ready.

Jamie: Should I delete the branch afterward?

Alex: If GitHub offers Delete branch after the merge, it is usually safe for this short Learning Room branch. The work is already on main, and deleting the branch removes clutter. If you are unsure, ask before deleting, but for a completed feature branch this is a normal cleanup step.

Jamie: The PR says merged. How do I prove the change actually landed on main?

Alex: Go back to the Code tab of the repository. Check the branch dropdown and make sure it says `main`, not your feature branch. Then open the file you changed, often `docs/welcome.md` in this challenge path, and confirm your new welcome text is there instead of the TODO.

Jamie: That part seems important because the PR page alone tells me the PR merged, but the Code tab shows what everyone gets on main.

Alex: Exactly. The second verification is the linked issue. Open the Issues tab, find the issue from Challenge 2, and confirm it is closed. If the PR description used `Closes #XX` with the correct number, GitHub should close it automatically when the PR merges.

Jamie: What if the issue did not close?

Alex: First, check whether the PR description had the correct issue number before the merge. If you have not merged yet, edit the description and include the correct `Closes #XX` line. If the PR is already merged, ask your facilitator whether to close the issue manually with a comment linking back to the merged PR.

Jamie: The challenge asks for evidence. What should a good completion comment include?

Alex: Keep it concrete. Include a link to the merged PR, a link to the issue that closed, and one thing you are proud of from Day 1. For example, you might say that PR number 5 fixed the TODO in `welcome.md`, linked to issue number 3, and taught you how issues and pull requests connect.

Jamie: I like the proud-of line. It makes the evidence more than a receipt.

Alex: It does. You can also mention what surprised you, such as how much of open source is communication: issue descriptions, PR summaries, comments, review replies, and clear commit messages. The alternate ways to recap are also fine: a comment on the challenge issue, a short summary in the workshop discussion channel, or a brief reflection file if your facilitator wants that.

Jamie: But the core proof is still the loop: issue, branch, commit, PR, merge.

Alex: Yes. If you merged at least one PR and can explain what you learned, you completed the Day 1 workflow. The evidence is there to help you and your facilitator see the full path, not to make the celebration harder.

Jamie: There is also a wrap-up piece involving peers and notifications. How does that fit Merge Day?

Alex: After merging, leave a wrap-up comment on the peer-simulation issue or PR. If you have real buddy access in your cohort, congratulate your buddy on completing Day 1. That reinforces the social part of GitHub: people need acknowledgment, not just code review.

Jamie: And notifications are how those social signals find us.

Alex: Right. This course uses GitHub's web notification inbox at `github.com/notifications`, not email, because the web inbox is available to everyone and works consistently. A practical repository watch level is Participating and @mentions, which notifies you when you are involved without flooding you with every event.

Jamie: So Star and Watch are not the same thing.

Alex: Correct. Starring is more like bookmarking or showing interest. Watching controls notifications. If a repository gets noisy, check whether you accidentally subscribed to All activity, and move it back to Participating and @mentions or another level that fits your role.

Jamie: What should learners practice in the inbox before they call Day 1 done?

Alex: Open the notification inbox from the bell icon or by visiting `github.com/notifications`. Try the Review requested filter to find PRs where someone asked for your review, then clear it and try Assigned to find issues or PRs assigned to you. Open one notification, read its title, repository, and reason, then return to the inbox.

Jamie: And then take one action, right?

Alex: Yes. On a non-critical thread, mark it done if you are finished with it, or mute it if you do not want future updates from that thread. Keyboard shortcuts can help, such as E for done and Shift+M for mute, but if your screen reader captures a key, move focus to the notification row first or use the visible controls.

Jamie: What if the inbox is empty?

Alex: That is not a failure. You can check the Done tab, practice reading the layout, or ask a facilitator to model a notification action. The goal is to understand how to filter and act so review requests, mentions, assignments, and failed checks do not get buried later.

Jamie: Let's talk blockers. What are the common Merge Day problems?

Alex: If your PR still has conflicts, do not force anything. Return to the conflict challenge and resolve the conflicting lines first. If the merge button is disabled, look for the reason near the merge area: it may need a passing check, a review approval, or facilitator action because of branch protection.

Jamie: What if I am just not sure whether the file change is the right one?

Alex: Open Files changed and read the diff again. Use the file tree if it is available, then move through the changed file. Added lines should reflect the content you intended, and the change should stay focused on the assigned issue. If you need a second set of ears, ask someone to review the PR rather than guessing.

Jamie: And if I am using the terminal?

Alex: The same ideas apply. Check your branch with `git branch --show-current`, keep the change small, confirm the `Closes #number` text, and use GitHub CLI commands such as `gh pr checks`, `gh pr view`, and `gh pr list` to inspect status. Use documented help with `gh pr --help` when you are unsure of an option.

Jamie: This is a good moment to name what learners have actually done today, because it is a lot.

Alex: It really is. You navigated a real GitHub repository, filed an issue with structured information, used comments and @mentions, created a safe branch, made a meaningful commit, opened a linked pull request, and brought that work onto main.

Jamie: And somewhere in there, many people also met a merge conflict and lived to tell the story.

Alex: Yes, and that matters. Merge conflicts are normal when people edit the same area of a project. They are not a sign that you broke GitHub; they are a collaboration problem with a fixable shape.

Jamie: So when the PR is merged, the issue is closed, the evidence is posted, and the peer comment is done, Day 1 is complete.

Alex: Exactly. Take the celebration seriously. You completed the professional GitHub contribution path in your Learning Room repository, and you now have a mental map for how issues, branches, commits, pull requests, reviews, merges, and notifications fit together.

Reference Solution

This shows one valid way to complete the challenge. Your approach may differ.

Solution Reference: Challenge 9 -- Merge Day

This shows what a successful Day 1 completion looks like.

What happens at merge

When your PR from Challenge 6 (or a later challenge) is approved and merged:

  1. The "Merge pull request" button turns green
  2. After clicking it, your branch's commits appear on main
  3. The linked issue (from Closes #N) automatically closes
  4. The PR status changes to "Merged" with a purple icon

Example evidence

Your Day 1 recap evidence might include:

What I merged: PR #5 which fixed the TODO in welcome.md (linked to issue #3)

What I learned today:

  • Repositories have a navigable structure with tabs for code, issues, and PRs
  • Issues document problems; PRs propose solutions
  • Branches let you work without affecting main
  • Merge conflicts happen when two people change the same lines -- they are normal and fixable
  • Open source projects have community guidelines that shape how people collaborate

What surprised me: How much of open source is communication (issues, PR descriptions, comments) rather than just writing code.

Alternate approaches

  • Post your recap as a comment on your challenge issue
  • Share a summary in the workshop discussion channel
  • Write a short reflection in a new file on your branch

What matters

The learning objective is completing the Day 1 loop: issue to branch to commit to PR to merge. If you merged at least one PR and can articulate what you learned, you completed this challenge.

Authoritative Sources

Use these official references when you need the current source of truth for facts in this chapter.

Section-Level Source Map

Use this map to verify facts for each major section in this file.