Challengegit
Professional Collaboration on GitHub — Challenge
Protect a branch, require review, and make the pipeline the thing that decides whether code can merge.
- Time
- 22 min
- Level
- Intermediate
- Objectives
- 4 objectives
- Cost
- Free
Before you start
You will need
- A GitHub repository you own
- git 2.30+
You will be able to
- Configure branch protection that CI actually enforces
- Route review automatically with CODEOWNERS
- Write commit messages a release process can read
Cost — Free
— a GitHub account.
You are done when
0 of 4
The goal#
Achieve the same outcome as Professional Collaboration on GitHub, from an empty starting point, without the steps.
Trunk-based development only works when main is always releasable. That is not a matter of discipline — it is a matter of configuration.
This lab makes the repository enforce it.
What must be true when you are done#
- A direct push to the protected branch is rejected.
- A pull request cannot merge while its status check is failing.
- A CODEOWNERS entry requests the right reviewer automatically.
- You can explain why 'require branches to be up to date' matters.
Rules#
- Do not open the guided lab until you are finished, or until the same problem has held you up for 20 minutes.
- Documentation is allowed and encouraged.
- Verify every criterion with a command whose output you can read.
If you get stuck#
- What did you expect, exactly?
- What happened instead — the error text, not a paraphrase?
- Which layer is that error from?
- What is the smallest command that proves the layer below is fine?
The concept behind it
Phase complete · 01 Foundations
You can now: You can administer a server, diagnose a connection, and recover work you thought you had destroyed.
Next phase
Lab 8 of 58 on the project path