Skip to content

7-Day Git Challenge

7 days · 4 labs · 6 knowledge checks · for developers who use git daily and want the model behind the commands.

Tick each day as you finish it. Progress is stored in this browser and shown onMy Academy.

  1. Explain why a commit is a snapshot, not a diff, and why every clone is complete.

    Then Run `git log --oneline` in a real repository and read the first ten lines as snapshots.

  2. Tell working tree, index and repository apart, and read `git status --short` correctly.

    Then Stage half of a change with `git add -p` and confirm `MM` in status.

  3. Know what `git add` actually writes, and why partial staging is possible.

    Then Unstage a file with `git restore --staged` and watch the status column move.

  4. Explain HEAD → branch → commit, and what "detached" means.

    Then Do the lab: lose a commit on a detached HEAD and get it back.

  5. Create, switch, compare and delete branches knowing nothing is copied.

    Then Do the lab: delete a branch with unmerged work and recover it from the reflog.

  6. Choose between restore, reset and revert by where the change is and where it should be.

    Then Do the lab, including the one command that destroys work, in the disposable repository.

  7. Read conflict markers as punctuation and resolve a conflict properly.

    Then Finish the lab, then take the "New to Git" learning path from wherever it now starts for you.