ABCsteps lesson path
Your Developer Passport: GitHub
Publish a project on GitHub, understand commits, and begin building a portfolio that shows actual work. Build one artifact, keep one review trail, and make the work easy to inspect later.
- Lesson
- 05
- Time
- 45 min
- Access
- public lesson
Learning objective
Understand commits, repositories, and the habit of visible engineering work.
Lab outcome
Create a repository and publish the first project.
Module milestone
Publish a small working app and its GitHub repository.
Lesson proof workflow
Read, build, then review the evidence.
- Step 1ReadStart with GitHub portfolio before touching tools.
- Step 2BuildBuild toward: Create a repository and publish the first project.
- Step 3ReviewReview the evidence using Repository hygiene.
Toolchain
GitHub makes work visible, reviewable, and easier to trust.
These are the practical surfaces used in this lesson. Learn the habit first, then connect it to the wider engineering ecosystem.
Publish the project where others can inspect it.
Make commits that explain what changed.
Connect local editing to remote proof of work.
Proof of work
Leave one inspectable trail from this lesson.
The useful output is not a passive note. It is a small artifact another person can inspect: a working file, a command result, a commit, a screenshot, a README note, or a demo link.
Lesson lab: Create a repository and publish the first project.
Tool and platform logos are ecosystem references only: no affiliation, endorsement, interview access, hiring promise, salary promise, or placement guarantee.
Build
Produce the artifact
Complete the lab and keep the result visible: Create a repository and publish the first project.
Record
Save review evidence
Capture what changed, what broke, and how GitHub portfolio became clearer through the work.
Explain
Write the vocabulary
Use your own words for Commit discipline and Repository hygiene; this is what makes the lesson inspectable later.
Skills companies recognize
Translate the lesson into inspectable work language.
This lesson turns one small lab into the language a learner can use in a README, demo note, or technical conversation. The point is not to collect logos; the point is to explain work clearly enough that another engineer can inspect it.
Where this skill appears
A repository is the simplest public proof surface for internships, freelance work, and engineering interviews.
Ecosystem references
Platform and company logos are ecosystem references only: no affiliation, endorsement, interview access, hiring preference, salary outcome, or placement guarantee.
README line
Name the artifact
Lab proof: Create a repository and publish the first project. Connect it to GitHub portfolio so the result reads like work, not a passive note.
Review line
Explain the stack
Use GitHub, Git, VS Code to explain Commit discipline and what changed between the first attempt and the inspected result.
Conversation line
Answer with evidence
If a team asks about Repository hygiene, use this proof line: Show a clean repo with meaningful commits, a short README, and a working project path.
Proof translation
Skill signal
GitHub portfolio is the market word. The lesson makes it visible through a small working artifact.
Proof artifact
The inspectable artifact is: Create a repository and publish the first project.
Interview answer
Use Commit discipline and Repository hygiene to explain what changed, what failed, and how you verified it.
Paid guidance
Read publicly. Upgrade when guidance will help you finish.
This lesson remains part of the public written syllabus. Paid help is online-only and human-led: video walkthroughs as they roll out, live class context, WhatsApp Q&A, and project review around the same work.
No account wall, automated checkout, or placement promise is introduced here. Enrollment stays human-led by WhatsApp or call, and the useful proof remains the learner's own artifact.
Public
Written lesson stays open
Read the prepare and review material for lesson 05 on the public site before buying anything.
Recorded
Recorded and live guidance clarify the work
Paid guidance can add founder-led video walkthroughs as they roll out and live online class context; the teaching explains the work, but does not replace the written lesson.
Human
Questions use real context
When stuck, useful guidance starts from the route, error, screenshot, repo fragment, and the lab artifact: Create a repository and publish the first project.
Phase 1 · Briefing
Lesson briefing
Before You Study (5 mins)
Lesson focus: Developers don't email files to each other. They use Git (a distributed version-control system) and GitHub (a cloud host built on top of Git). Today we get past the lazy "Git = save to GitHub" framing and learn the actual workflow professional engineers use every day. By the end, your Snake game has a public GitHub repository, every change you've made is preserved as a commit, and you have a portfolio link you can put in a CV, in a job application, or in a message to a friend who asked "what have you been building?"
What you should have ready:
- A free GitHub account at github.com — sign up if you don't have one yet
- Terminal fluency from Lesson 04 — we'll use
gitcommands - Your Snake game project locally
- About 60 minutes
- Patience to set up SSH keys once (the right way) instead of fighting password prompts forever
The Concept
Git and GitHub are not the same thing. Conflating them is the single most common confusion when learners start, and untangling it makes everything else easier.
- Git is a distributed version control system — software that runs on your machine. It tracks changes to files, lets you record snapshots ("commits"), branch off to try something, merge changes back, and inspect history. It works completely offline. It was created by Linus Torvalds in 2005 to manage Linux kernel development.
- GitHub is a commercial hosting service (owned by Microsoft) for Git repositories. It adds a web UI, pull requests, code review, issue tracking, GitHub Actions for CI/CD, and the social features that turned it into the default home for open source.
You can use Git without GitHub. You cannot use GitHub without Git underneath. The two are layered: Git is the engine; GitHub is the cloud platform built on it.
The mental model that makes Git click is the Directed Acyclic Graph (DAG) of snapshots. Every commit is a complete snapshot of your project's files at that moment, identified by a SHA-1 hash. Each commit points to its parent (or parents, in the case of a merge). The history is a graph of these snapshots — not a list of changes. Branches are just named pointers into this graph. Creating a branch is O(1) — instant, free, no copying — because nothing actually moves; only the pointer is named.
The local workflow has three zones, and the movement between them is what you'll repeat thousands of times in your career:
Working Directory ──git add──▶ Staging Area ──git commit──▶ Local Repository
(your edits) (what's selected for (the snapshot
the next snapshot) history)
When you push, the local repository syncs with the remote — usually GitHub. When you pull, you sync the other way. When two people change the same line, Git refuses to guess which one wins; you get a merge conflict, and resolving it is part of the job.
The professional workflow today is branch + pull request, not "commit straight to main":
git checkout -b feature-x— create a branch for your work- Edit, commit, edit, commit — repeatedly, on your branch
git push origin feature-x— upload the branch to GitHub- On GitHub: open a Pull Request — propose merging your branch into
main - Code review happens in the PR; you push more commits to address feedback
- Once approved, merge the PR; delete the branch
Even on a one-person project, this discipline pays back: it preserves a clean history, makes feature flags trivial, and turns "rolling back a bad change" into a one-line operation.
Two companion articles deepen this lesson. What is Git and Why Every Developer Needs It explains the snapshot DAG model and the SHA-1 integrity story. GitHub for Beginners — Creating Your First Repository and Pull Request walks through the daily workflow with real commands. Read both this week.
Quick Concepts
| Term | Simple Meaning |
|---|---|
| Git | The version-control engine running on your laptop |
| GitHub | The cloud host where your Git repos live publicly or privately |
| Repository (repo) | A project under Git's tracking — a folder + its history |
| Commit | A snapshot of your files at a moment, with a message and a SHA hash |
| Branch | A named pointer to a commit — cheap to create, cheap to delete |
| Push / Pull | Upload / download commits between local and remote |
| Pull Request (PR) | A formal proposal to merge one branch into another, with review |
What We Will Build
By the end of this lesson, you will have done these specific things:
- Configured your Git identity so every commit is attributed to you:
bash
git config --global user.name "Your Name" git config --global user.email "[email protected]" - Generated an SSH key pair for password-less authentication with GitHub:
Then add the public key to GitHub at Settings → SSH and GPG keys.bash
ssh-keygen -t ed25519 -C "[email protected]" cat ~/.ssh/id_ed25519.pub # Copy the contents - Initialized your Snake game folder as a Git repository:
cd snake-game && git init. - Created your first commit:bash
git add . git commit -m "Initial commit: working Snake game from Lesson 01" - Created a new GitHub repository (the empty kind, no README) and connected your local repo to it via
git remote add origin [email protected]:<you>/snake-game.git. - Pushed your code:
git push -u origin main. Refreshed the GitHub page and saw your code online. - Created a feature branch to add one improvement:
git checkout -b feature-difficulty. Made a change in code (e.g., add a difficulty level). Committed. Pushed. - Opened a Pull Request on GitHub from
feature-difficultyintomain. Read your own diff. Merged it. Deleted the branch withgit branch -d feature-difficulty. - Wrote a real README.md — the project's front door. Used it to introduce your project: title, what it does, how to run it, screenshot or demo link.
Step 9 is the most important. The README is what every visitor sees first. A good README in 2026 takes a stranger from "what is this" to "I can run it" in under 60 seconds.
Think About
Before studying, consider:
- If you make a change today and break the game, how do you get back to the working version from yesterday? (Hint: Git
checkoutto a previous commit's SHA. Time travel is real and free.) - A friend wants to contribute one small fix to your Snake game. They live in another city. Without GitHub, what is the workflow? Email zip files? With GitHub: they fork, fix, open a PR, you merge. Same outcome; orders of magnitude less friction.
By the End
After this lesson, you'll:
- ✅ Have configured Git with your name and email
- ✅ Have an SSH key pair set up and added to GitHub
- ✅ Have a public repository at
github.com/<you>/snake-gamewith your code in it - ✅ Have made at least 3 commits with descriptive messages
- ✅ Have created, pushed, and merged your first feature branch via Pull Request
- ✅ Have a real README.md that introduces your project to a stranger
- ✅ Be ready to publish every project you build for the rest of your career
The first PR is the hardest. Every one after is muscle memory. 🌍