Great work!

XP to next level

BugEater

The Three Trees & Basic Workflow

Beginner All professions 20 XP 47 min

Updated: 22/08/2026

Start Module

This is the module that makes Git click. Once you can name which of four states a file is in, every command you'll ever run stops being magic and starts being obvious.

Why This Module Matters

Here is the thing nobody tells beginners: git add is not "save". git commit is not "upload". Git deliberately splits saving your work into two separate steps, and that split is the whole reason Git is more useful than a folder called final_v3_REAL.

Between the files you edit and the permanent history there sits a room called the staging area — a place where you assemble exactly the change you want to record, and nothing else. Fixed a typo in the test plan and also half-rewrote a config file you're not sure about? Stage the typo, commit it, leave the config alone. That control is what turns a history into something a human can actually read a year later.

The other half of this module is commit messages. A repository's history is documentation, and a commit message is the one line of documentation you write every day. fix tells a future reader nothing. This module teaches the difference.

What You'll Learn

  • The four states a file lives in: untracked, modified, staged, committed
  • How to read git status — the command you will run more than any other
  • How git add moves a specific change into the staging area, on purpose
  • How git commit -m writes that staged change into permanent history
  • What a good commit message looks like, and the habits that produce one every time

Pro Tip

Run git status before every other command and after every other command. It is free, it never changes anything, and it will answer 90% of the questions you are about to ask.

Module content