Stop breaking repositories. Practice Git without fear.

24 guided challenges in a simulated terminal, from your first commit to rebase, reflog and bisect. You type the commands, watch the graph change and learn from every mistake.

No install, no sign-up. Free, in your browser.

Level 1 · First Repository

Try it here
  • Initialize the repository (pending)
  • Stage the changes (pending)
  • Create the initial commit (pending)
Welcome to GitJunior.
Goal: git init -> git add . -> git commit -m "..."

Commit graph

Repository without commits

Goal: git init -> git add . -> git commit -m "..."
  1. 1. Read the goal

    A short explanation of the concepts and the list of what you need to achieve.

  2. 2. Type the commands

    If a command does not fit, the terminal tells you. You can ask for up to three hints, which cost points.

  3. 3. See the result

    The commit graph changes with every step and you get your score at the end.

24 Git challenges for beginners

You start with your first commit and finish hunting a bug with bisect. Each challenge unlocks the next.

See the challenge map
  1. 1

    First Repository

    git init · git add · git commit

  2. 2

    Inspection and History

    git status · git add · git commit · git log

  3. 3

    Feature Branches

    git branch · git checkout

  4. 4

    Merging Branches

    git checkout · git merge

  5. 5

    Tactical Cherry-pick

    git checkout · git cherry-pick · git log

  6. 6

    Back to a Previous Commit

    git log · git reset

  7. 7

    Configure origin

    git remote

  8. 8

    Emergency Save

    git stash

  9. 9

    Shared Submodule

    git submodule

  10. 10

    Undo Without Rewriting

    git log · git revert

  11. 11

    Tagging the Release

    git tag · git push

  12. 12

    Syncing With the Team

    git fetch · git pull

  13. 13

    Modern Git: switch and restore

    git restore · git switch

  14. 14

    Keep Secrets Out of the Repo

    git diff · echo ".env" · git add · git commit

  15. 15

    The Commit That Got Away

    git add · git commit · git log

  16. 16

    Pricing Conflict

    git merge · git status · git add · git commit

  17. 17

    Straight-Line History

    git rebase · git log · git switch · git merge

  18. 18

    Lost Commits

    git log · git reflog · git reset

  19. 19

    Bug Hunt

    git bisect

  20. 20

    Day One: Clone and Sign

    git clone · git config

  21. 21

    Rename and Delete Without Losing Track

    git mv · git rm · git commit

  22. 22

    There and Back With a Dash

    git switch · git commit · git merge

  23. 23

    Spring Cleaning

    git clean · git branch · git remote

  24. 24

    Repository Detective

    git grep · git shortlog · git describe · git rev-parse

Sound familiar?

You can't undo a commit without losing work
Challenges 6 and 10: git reset and git revert, and when to use each.
You're scared of breaking branches
Challenges 3 and 4: you create a branch, switch between branches and merge.
You copy commands without knowing why they work
Every challenge opens with a short explanation of the concepts before the terminal.
Git trips you up in technical interviews
Challenges 4, 5, 6 and 10: merge, cherry-pick, reset and revert.

Your progress is saved and you can share it

Your profile keeps score, errors and achievements so you know what to improve and can pick up where you left off. From there you generate a card with your result to share on LinkedIn, X or anywhere.

  • Progress tracking across all 24 challenges
  • 23 achievements that unlock as you advance
  • Downloadable result card and certificate

GitJunior

Master Git before your first PR

  • Final grade: S (93/100)
  • Levels completed: 24/24
  • Command accuracy: 91%
  • Total score: 7200
  • Achievements unlocked: 23/23
RANKSProfessional level
Example of the card you generate in your profile.

Ready to start?

The first challenge is three commands: git init, git add and git commit.