Learn Git & Version Control
A free, interactive course on Git and version control. You run real Git commands on every lesson - `init`, `add`, `commit`, `branch`, `merge`, resolve conflicts, `push`, `pull` - in a browser-based terminal, with AI hints when you get stuck and a free certificate when you finish. Part of the wider Terminal journey, so the command-line context you need is right there.
9,317+ codders enrolled
- Beginner friendly
AI-assisted coding help
Hands-on interactive lessons
Audio narration on every lesson
Quizzes to test your knowledge
Free certificate of completion
Syllabus
This section is part of the Terminal Journey. The full syllabus has more sections - click any preview below to view it on the Journey page.
- Section 1Fundamentals82 lessons
Section 1
Version Control
Start sectionStartExpandCollapseTrack your work with Git. Initialize repos, stage and commit changes, branch and merge, resolve conflicts, and recover from mistakes.Introduction
3 lessons123- 01What Is Version ControlQuiz
- 02What Is GitChallengeQuiz
- 03Snapshots And CommitsQuiz
Getting Started
5 lessons531- 01Initialize A RepositoryChallengeQuiz
- 02The .git FolderChallengeQuiz
- 03Configure Your IdentityChallengeQuiz
- 04Git StatusChallengeQuiz
- 05Recap - First RepoChallenge
Tracking Changes
6 lessons640- 01The Staging AreaChallengeQuiz
- 02Git AddChallengeQuiz
- 03Git CommitChallengeQuiz
- 04Modifying A Tracked FileChallengeQuiz
- 05Git LogChallengeQuiz
- 06Recap - First CommitsChallenge
Inspecting Changes
4 lessons425- 01Git DiffChallengeQuiz
- 02Diff The Staged ChangesChallengeQuiz
- 03Git ShowChallengeQuiz
- 04Recap - Detective WorkChallenge
Ignoring Files
4 lessons427- 01Why Ignore FilesChallengeQuiz
- 02Gitignore PatternsChallengeQuiz
- 03Check Ignore RulesChallengeQuiz
- 04Recap - Clean RepoChallenge
Recipe Site Project
Project5 lessons137- 01Project OverviewChallengeQuiz
- 02Initialize And IgnoreProjectQuiz
- 03First CommitProjectQuiz
- 04Add A Second RecipeProjectQuiz
- 05Inspect The HistoryProjectQuiz
Branching
6 lessons640- 01What Is A BranchChallengeQuiz
- 02Creating A BranchChallengeQuiz
- 03Switching BranchesChallengeQuiz
- 04Committing On A BranchChallengeQuiz
- 05Deleting A BranchChallengeQuiz
- 06Recap - Branch PlayChallenge
Merging
6 lessons640- 01What Is A MergeChallengeQuiz
- 02Fast-Forward MergeChallengeQuiz
- 03Three-Way MergeChallengeQuiz
- 04Merge ConflictsChallengeQuiz
- 05Resolve A ConflictChallengeQuiz
- 06Recap - Merge MasterChallenge
Undoing Changes
6 lessons641- 01Discard Unstaged ChangesChallengeQuiz
- 02Unstage A FileChallengeQuiz
- 03Amend The Last CommitChallengeQuiz
- 04Revert A CommitChallengeQuiz
- 05Reset A BranchChallengeQuiz
- 06Recap - Time MachineChallenge
Remotes
4 lessons324- 01What Is A RemoteChallengeQuiz
- 02Add A RemoteChallengeQuiz
- 03Push, Pull And CloneQuiz
- 04Recap - Remote SetupChallenge
Feature Branch Project
Project6 lessons142- 01Project OverviewChallengeQuiz
- 02Initialize MainProjectQuiz
- 03Work On A BranchProjectQuiz
- 04Update Main In ParallelProjectQuiz
- 05Merge The FeatureProjectQuiz
- 06Clean UpProjectQuiz
Final Challenges
3 lessons3- 01Blog Repo From ScratchChallenge
- 02Branch DanceChallenge
- 03Undo MasterChallenge
Why learn Git with Coddy
- Run Git in your browser. No install, no GitHub account required, no environment setup. Every command operates on a real repo so you see what
git status,git log, andgit diffactually print. - Core Git: the staging area, commits, branches, merging, rebasing, conflict resolution, remote repos,
pullvsfetch, undoing mistakes. The Git skills you'll use every day on the job. - AI hints help you read Git's famously cryptic output - detached HEAD, fast-forward, three-way merge - without spoiling the answer, so Git stops feeling like magic.
- Free Git certificate when you finish the section. A credible proof point for any developer role, since version control is non-negotiable on every team.
Frequently asked questions about learning Git
What is Git?
Git is the distributed version control system most software teams use to track changes to their code. Each developer has a full copy of the project history, and Git lets you commit snapshots, branch off to try ideas, merge work together, and roll back when things go wrong.
Is Git hard to learn?
The basics -
init, add, commit, status, log, push, pull - are quick to pick up. The harder parts (rebasing, resolving conflicts, recovering from mistakes, understanding what HEAD is doing) take longer. The course introduces them in small steps with a real repo at every lesson so the commands stop being abstract.Do I need to know the command line to use Git?
It helps, and the previous section of the Terminal journey covers the basics. Git has GUIs too, but every team eventually drops to the command line for the tricky operations, so it's worth being comfortable typing the commands yourself.
What's the difference between Git and GitHub?
Git is the version control tool that runs on your machine. GitHub (and GitLab, Bitbucket, etc.) is a hosting service where you push your Git repos so other people can pull them. You can use Git without ever using GitHub - they're separate things that work well together.
Can I learn Git online for free?
Yes. The interactive Git section is free - full lessons, real Git commands on every exercise, and a certificate. Everything runs in a browser-based terminal so you don't need to install Git or create accounts to start.
Do I get a certificate after the Git course?
Yes. Finishing the Git section gives you a free certificate of completion you can share on LinkedIn or include on your resume. Version control is expected on every software team, so this is a meaningful signal alongside any portfolio projects.