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.

  1. GitHub hero workflow iconStep 1ReadStart with GitHub portfolio before touching tools.
  2. Git hero workflow iconStep 2BuildBuild toward: Create a repository and publish the first project.
  3. VS Code hero workflow iconStep 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.

GitHub iconGitHubRepository

Publish the project where others can inspect it.

Git iconGitVersion control

Make commits that explain what changed.

VS Code iconVS CodeSource control

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.

GitHub proof icon

Build

Produce the artifact

Complete the lab and keep the result visible: Create a repository and publish the first project.

Git proof icon

Record

Save review evidence

Capture what changed, what broke, and how GitHub portfolio became clearer through the work.

VS Code proof icon

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.

Engineering hiring loopsOpen-source collaborationFreelance delivery

Ecosystem references

GitHub skill ecosystem logoMicrosoft skill ecosystem logoGoogle Cloud skill ecosystem logoAWS skill ecosystem logoOpenAI skill ecosystem logoCloudflare skill ecosystem logoGoogle skill ecosystem logo

Platform and company logos are ecosystem references only: no affiliation, endorsement, interview access, hiring preference, salary outcome, or placement guarantee.

GitHub skill proof icon

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.

Git skill proof icon

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.

VS Code skill proof icon

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

GitHub proof translation icon

Skill signal

GitHub portfolio is the market word. The lesson makes it visible through a small working artifact.

Git proof translation icon

Proof artifact

The inspectable artifact is: Create a repository and publish the first project.

VS Code proof translation icon

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.

GitHub paid guidance icon

Public

Written lesson stays open

Read the prepare and review material for lesson 05 on the public site before buying anything.

Git paid guidance icon

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.

VS Code paid guidance icon

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 git commands
  • 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:

text
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":

  1. git checkout -b feature-x — create a branch for your work
  2. Edit, commit, edit, commit — repeatedly, on your branch
  3. git push origin feature-x — upload the branch to GitHub
  4. On GitHub: open a Pull Request — propose merging your branch into main
  5. Code review happens in the PR; you push more commits to address feedback
  6. 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

TermSimple Meaning
GitThe version-control engine running on your laptop
GitHubThe cloud host where your Git repos live publicly or privately
Repository (repo)A project under Git's tracking — a folder + its history
CommitA snapshot of your files at a moment, with a message and a SHA hash
BranchA named pointer to a commit — cheap to create, cheap to delete
Push / PullUpload / 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:

  1. 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]"
    
  2. Generated an SSH key pair for password-less authentication with GitHub:
    bash
    ssh-keygen -t ed25519 -C "[email protected]"
    cat ~/.ssh/id_ed25519.pub   # Copy the contents
    
    Then add the public key to GitHub at Settings → SSH and GPG keys.
  3. Initialized your Snake game folder as a Git repository: cd snake-game && git init.
  4. Created your first commit:
    bash
    git add .
    git commit -m "Initial commit: working Snake game from Lesson 01"
    
  5. 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.
  6. Pushed your code: git push -u origin main. Refreshed the GitHub page and saw your code online.
  7. 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.
  8. Opened a Pull Request on GitHub from feature-difficulty into main. Read your own diff. Merged it. Deleted the branch with git branch -d feature-difficulty.
  9. 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:

  1. If you make a change today and break the game, how do you get back to the working version from yesterday? (Hint: Git checkout to a previous commit's SHA. Time travel is real and free.)
  2. 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-game with 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. 🌍