- Courses
- Git from the Inside
- Capstone
Capstone project for Git from the Inside
Clean up the Store app repo before the festival release
It is the week before the festival rush, and Ken, Mangrove Market's engineering manager, asks you to get the store-app repository ready for release 2.1. Build the starting state yourself in a local repository, with a bare repository as the shared remote: main with a few commits; a feature branch feature/expiry-alerts with seven messy commits (wip, fix typo, more wip) that also changes the same pricing lines as main; release/2.1, created from main; a crash fix committed on main after the release branch was cut; a bad commit already pushed to main; and a .env file with a fake API key plus a large demo video committed by mistake. Then fix it all the way this course teaches: squash the feature into clear Conventional Commits, merge it with a merge commit, resolve the pricing conflict with a test for each side's rule, get the crash fix onto release/2.1 and tag v2.1.1, undo the bad pushed commit, and deal with the secret and the video. Write it up so Imran, the Store app's product manager, can follow every step without reading the code.
What you hand in
- The repository as a zip file or a link, plus the output of git log --oneline --graph --all with a short note beside each important commit
- A test file that passes on the merged result and proves both pricing rules, with the test output pasted into your notes
- An annotated tag v2.1.1 on release/2.1 that contains the crash fix, cherry-picked with -x
- A one-page incident note for Imran about the .env file and the video: what you did, what must still happen, and what cannot be fixed without rewriting history
- A half-page Git rules page for the team: branch names, merge style, when rebasing is allowed, which branches are protected, and an undo playbook
Check your work
Tick each item when your project meets it. Be strict: this is the rubric the reviewer uses.
- The graph shows feature/expiry-alerts merged into main with a merge commit, and no wip or fix typo commits remain on main
- Every commit you added follows Conventional Commits, does one thing and has an imperative subject
- The pricing conflict keeps both intentions, and the tests run on the merged result, not only on each branch
- The crash fix is on main first and reaches release/2.1 by cherry-pick -x, and v2.1.1 is an annotated tag
- The bad pushed commit is undone with git revert and a normal push, with no reset or force-push on main
- .env is no longer tracked, is listed in .gitignore with a .env.example beside it, and the note says the key must be rotated first
- The note explains why deleting the video does not shrink a fresh clone, and proposes Git LFS or object storage for media
- The rules page states the golden rule of rewriting history and names the protected branches
0 of 8 checked
Model answer
The model answer opens once your capstone passes the review, so you can compare your work with an outline of a strong submission.
Hand in your capstone
Your links are checked automatically, then the work is scored against the rubric above, item by item, with comments. A pass counts toward the course certificate and shows on your profile.
Loading…