CodeBlanks Logo Icon CodeBlanks
Free 4 levels

Git

Learn version control, branching, merging, rebase and team workflows with Git and GitHub.

The Git course covers all levels from version control basics to branch management, rebase, conflict resolution, GitHub PR, Actions and expert internals.

  • 250 lessons
  • 18 h 16 min
  • 2 projects

No account needed, you can start right away. To save your progress, create a free account

Levels

The Git course goes from zero to expert in four levels. Start at any level you like.
Not sure of your level? Take the placement test
Beginner

Learn Git fundamentals: install, first repo, commit, branch, merge and first push.

  • What is Git?
  • Installation
  • First repository
  • Configuration
80 lessons · 5 h 47 min See lessons →
Intermediate

Learn branch management, rebase, conflicts, stash, tag, remote, cherry-pick, revert, reset and the GitHub PR flow.

  • Branch management
  • Checkout and switch
  • Merge and rebase
  • Conflict resolution
82 lessons · 6 h 1 min See lessons →
Advanced

Learn interactive rebase, bisect, blame, submodule, worktree, hooks, advanced log, archive and the GitHub Actions workflow.

  • Interactive rebase
  • Bisect
  • Blame
  • Submodule
56 lessons · 4 h 5 min See lessons →
Expert

Learn Git internals, custom hooks, LFS, monorepo, performance, GitHub API and security.

  • Git internals
  • Custom hooks
  • Git LFS
  • Monorepo
32 lessons · 2 h 23 min See lessons →

Projects you will build

At every level you combine what you learned into a real page.

How does it work?

Short explanation

Each lesson explains one concept in a few short cards; no long videos or walls of text.

Try it right away

Multiple choice, fill-in-the-blank and matching exercises lock in what you just learned.

Write it yourself

You write real code in the in-browser editor; it is checked instantly and you see the result live.

Curriculum

62 groups · 250 lessons · 18 h 16 min

Learn Git fundamentals: install, first repo, commit, branch, merge and first push.

1
What is Git?
4 lessons · 17 min
  1. 1 What is Git? Learn that Git is a version control system and why it is used. 4 min
  2. 2 Version control Learn how version control keeps the file history. 4 min
  3. 3 Distributed model Learn the advantages of Git's distributed nature. 4 min
  4. 4 Summary - What is Git? Combine the version control concept to explain a repository structure. 5 min
2
Installation
4 lessons · 17 min
  1. 1 Downloading Git Learn how to download Git from the official site. 4 min
  2. 2 Windows install Learn the Git install steps on Windows. 4 min
  3. 3 macOS install Learn to install Git on macOS with Homebrew. 4 min
  4. 4 Summary - Installation Combine the install steps to verify the Git version. 5 min
3
First repository
4 lessons · 17 min
  1. 1 git init Learn to create a new repository with git init. 4 min
  2. 2 The .git folder Learn what the .git folder stores in a repository. 4 min
  3. 3 First file Learn to create the first file and stage it. 4 min
  4. 4 Summary - First repository Combine init, add and commit to set up the first repository. 5 min
4
Configuration
4 lessons · 17 min
  1. 1 git config Learn to view settings with git config. 4 min
  2. 2 user.name and user.email Learn to set the name and email for commit authorship. 4 min
  3. 3 Global and local Learn the difference between global and local settings. 4 min
  4. 4 Summary - Configuration Combine config settings to verify the correct author info. 5 min
5
Staging
4 lessons · 17 min
  1. 1 Staging area Learn where the staging area sits between the working tree and the repo. 4 min
  2. 2 git add Learn to stage files with git add. 4 min
  3. 3 Adding a single file Learn to stage a single file. 4 min
  4. 4 Summary - Staging Combine the add command to stage multiple files. 5 min
6
Commit
4 lessons · 17 min
  1. 1 git commit Learn to save staged changes with git commit. 4 min
  2. 2 Commit message Learn to write a meaningful commit message. 4 min
  3. 3 Good commit message Learn what makes a good commit message. 4 min
  4. 4 Summary - Commit Combine add and commit to record the first snapshot. 5 min
7
Status
4 lessons · 17 min
  1. 1 git status Learn to view the repository state with git status. 4 min
  2. 2 File states Learn the untracked, modified and staged states. 4 min
  3. 3 Short status Learn the short status output with git status -s. 4 min
  4. 4 Summary - Status Combine the status output to explain the file lifecycle. 5 min
8
Log
4 lessons · 17 min
  1. 1 git log Learn to view the commit history with git log. 4 min
  2. 2 One-line format Learn the compact history with git log --oneline. 4 min
  3. 3 Changes with stat Learn each commit's changes with git log --stat. 4 min
  4. 4 Summary - Log Combine log options to build a history reading flow. 5 min
9
Diff
4 lessons · 17 min
  1. 1 git diff Learn to view changes with git diff. 4 min
  2. 2 Working vs staged Learn the difference between the working tree and the stage. 4 min
  3. 3 Staged vs HEAD Learn the staged difference with git diff --cached. 4 min
  4. 4 Summary - Diff Combine diff options to inspect the change flow. 5 min
10
.gitignore
4 lessons · 17 min
  1. 1 What is .gitignore? Learn what the .gitignore file does. 4 min
  2. 2 Patterns Learn the .gitignore pattern syntax. 4 min
  3. 3 Global ignore Learn to exclude personal files with a global .gitignore. 4 min
  4. 4 Summary - .gitignore Combine patterns to write a project .gitignore file. 5 min
11
File lifecycle
4 lessons · 17 min
  1. 1 Untracked Learn the untracked file state. 4 min
  2. 2 Tracked Learn the tracked file state. 4 min
  3. 3 Deleting (git rm) Learn to delete files with git rm. 4 min
  4. 4 Summary - File lifecycle Combine lifecycle steps to explain a file's journey. 5 min
12
Viewing history
4 lessons · 17 min
  1. 1 git show Learn to view a commit's content with git show. 4 min
  2. 2 File history Learn to list the history of a specific file. 4 min
  3. 3 Author and date Learn to filter by commit author and date. 4 min
  4. 4 Summary - Viewing history Combine show and log options to research the history. 5 min
13
Undoing changes
4 lessons · 17 min
  1. 1 git checkout Learn to restore a file with git checkout. 4 min
  2. 2 git restore Learn the modern git restore command. 4 min
  3. 3 Unstage Learn to unstage a file that was added. 4 min
  4. 4 Summary - Undoing changes Combine checkout and restore to undo changes. 5 min
14
Branch basics
4 lessons · 17 min
  1. 1 What is a branch? Learn how a branch tracks commits. 4 min
  2. 2 git branch Learn to list and create branches with git branch. 4 min
  3. 3 git switch Learn to switch branches with git switch. 4 min
  4. 4 Summary - Branch basics Combine branch and switch to build a branch workflow. 5 min
15
Merging
4 lessons · 17 min
  1. 1 git merge Learn to merge branches with git merge. 4 min
  2. 2 Fast-forward Learn when a fast-forward merge happens. 4 min
  3. 3 Three-way merge Learn the three-way merge commit. 4 min
  4. 4 Summary - Merging Combine merge types to build a branch flow. 5 min
16
GitHub account
4 lessons · 17 min
  1. 1 What is GitHub? Learn that GitHub is a repository hosting service. 4 min
  2. 2 Creating an account Learn the steps to create a GitHub account. 4 min
  3. 3 SSH key Learn to create an SSH key and add it to GitHub. 4 min
  4. 4 Summary - GitHub account Combine account and SSH steps to set up a secure connection. 5 min
17
First push
4 lessons · 17 min
  1. 1 git remote Learn to add a remote repository with git remote. 4 min
  2. 2 git push Learn to send local commits to the remote with git push. 4 min
  3. 3 Upstream tracking Learn to set an upstream branch for easy pushing. 4 min
  4. 4 Summary - First push Combine remote and push to do the first upload. 5 min
18
Cloning
4 lessons · 17 min
  1. 1 git clone Learn to download a remote repository with git clone. 4 min
  2. 2 HTTPS vs SSH Learn the differences between HTTPS and SSH cloning. 4 min
  3. 3 After cloning Learn how branches and history arrive after cloning. 4 min
  4. 4 Summary - Cloning Combine the clone flow to set up a local copy. 5 min
19
Pull
4 lessons · 17 min
  1. 1 git pull Learn to download remote changes with git pull. 4 min
  2. 2 fetch vs pull Learn the difference between fetch and pull. 4 min
  3. 3 Pull conflict Learn to resolve a conflict that arises during pull. 4 min
  4. 4 Summary - Pull Combine the pull flow to sync with the remote. 5 min
20
Beginner finalFinal
4 lessons · 24 min
  1. 1 Set up a repository Set up a repository with init, add and commit to record the first snapshot. 6 min
  2. 2 Commit flow Add multiple files and create commits with meaningful messages. 6 min
  3. 3 Branch and merge Create a new branch and complete a merge flow into the main branch. 6 min
  4. 4 Push to GitHub Add a remote and push local commits to GitHub with the first push. 6 min

Learn branch management, rebase, conflicts, stash, tag, remote, cherry-pick, revert, reset and the GitHub PR flow.

1
Branch management
4 lessons · 17 min
  1. 1 Branch list Learn the local and remote branch list with git branch. 4 min
  2. 2 Creating a branch Learn to create a new branch with git branch. 4 min
  3. 3 Deleting a branch Learn to delete a branch with git branch -d. 4 min
  4. 4 Summary - Branch management Combine branch commands to build a branch management flow. 5 min
2
Checkout and switch
4 lessons · 17 min
  1. 1 git checkout Learn to switch branches and files with git checkout. 4 min
  2. 2 git switch Learn the modern branch switching with git switch. 4 min
  3. 3 git restore Learn to restore files with git restore. 4 min
  4. 4 Summary - Checkout and switch Combine checkout, switch and restore to manage branch changes. 5 min
3
Merge and rebase
4 lessons · 17 min
  1. 1 Merge traits Learn how git merge preserves the history. 4 min
  2. 2 What is rebase? Learn how git rebase rewrites commits. 4 min
  3. 3 Rebase vs merge Learn the historical difference between rebase and merge. 4 min
  4. 4 Summary - Merge and rebase Combine both approaches to choose the right merge strategy. 5 min
4
Conflict resolution
4 lessons · 17 min
  1. 1 Conflict markers Learn the conflict markers and their structure. 4 min
  2. 2 Resolving a conflict Learn the steps to resolve a conflict by hand. 4 min
  3. 3 mergetool Learn to resolve conflicts visually with git mergetool. 4 min
  4. 4 Summary - Conflict resolution Combine conflict steps to resolve a merge conflict. 5 min
5
Stash
4 lessons · 17 min
  1. 1 git stash Learn to temporarily save changes with git stash. 4 min
  2. 2 stash list Learn to view saved stashes with stash list. 4 min
  3. 3 pop vs apply Learn the difference between stash pop and stash apply. 4 min
  4. 4 Summary - Stash Combine the stash flow to manage intermediate changes. 5 min
6
Tag
4 lessons · 17 min
  1. 1 git tag Learn to mark release points with git tag. 4 min
  2. 2 Lightweight vs annotated Learn the difference between lightweight and annotated tags. 4 min
  3. 3 Pushing tags Learn to push tags to the remote repository. 4 min
  4. 4 Summary - Tag Combine the tag flow to mark a release point. 5 min
7
Remote
4 lessons · 17 min
  1. 1 git remote Learn the remote list with git remote. 4 min
  2. 2 remote add Learn to add a new remote with git remote add. 4 min
  3. 3 remote remove Learn to remove a remote with git remote remove. 4 min
  4. 4 Summary - Remote Combine remote commands to build a multi-remote workflow. 5 min
8
Fetch and pull
4 lessons · 17 min
  1. 1 git fetch Learn to download remote changes with git fetch. 4 min
  2. 2 fetch vs pull Learn that fetch does not merge while pull does. 4 min
  3. 3 Fetch all branches Learn to fetch all remote branches with git fetch --all. 4 min
  4. 4 Summary - Fetch and pull Combine fetch and pull to set up remote sync. 5 min
9
Cherry-pick
4 lessons · 17 min
  1. 1 git cherry-pick Learn to pick a single commit with git cherry-pick. 4 min
  2. 2 Picking a single commit Learn to pick a single commit from another branch. 4 min
  3. 3 Conflict case Learn to resolve a conflict during cherry-pick. 4 min
  4. 4 Summary - Cherry-pick Combine the cherry-pick flow to selectively move commits. 5 min
10
Revert
4 lessons · 17 min
  1. 1 git revert Learn to create a reverse commit with git revert. 4 min
  2. 2 revert vs reset Learn that revert preserves history while reset removes it. 4 min
  3. 3 Reverting a specific commit Learn to revert a specific commit. 4 min
  4. 4 Summary - Revert Combine the revert flow to safely undo changes. 5 min
11
Reset
4 lessons · 17 min
  1. 1 git reset Learn to move HEAD with git reset. 4 min
  2. 2 soft mixed hard Learn the difference between soft, mixed and hard modes. 4 min
  3. 3 HEAD reference Learn to reference previous commits with HEAD~. 4 min
  4. 4 Summary - Reset Combine reset modes to clean local changes. 5 min
12
Reflog
4 lessons · 17 min
  1. 1 git reflog Learn to view HEAD movements with git reflog. 4 min
  2. 2 Recovering a lost commit Learn to recover a deleted commit with reflog. 4 min
  3. 3 HEAD history Learn to list all HEAD movements. 4 min
  4. 4 Summary - Reflog Combine the reflog flow to safely recover. 5 min
13
Pull request
4 lessons · 17 min
  1. 1 What is a PR? Learn that a pull request is a code review flow. 4 min
  2. 2 Opening a PR Learn to push a branch and open a PR on GitHub. 4 min
  3. 3 Reviewing a PR Learn to review a PR and add comments. 4 min
  4. 4 Summary - Pull request Combine the PR flow to merge a branch into the main branch. 5 min
14
Fork
4 lessons · 17 min
  1. 1 What is a fork? Learn that a fork is a copy of a repository. 4 min
  2. 2 Fork vs clone Learn the difference between fork and clone. 4 min
  3. 3 Upstream sync Learn to sync with upstream after forking. 4 min
  4. 4 Summary - Fork Combine the fork flow to set up an open source contribution flow. 5 min
15
Code review
4 lessons · 17 min
  1. 1 What is review? Learn that code review is a quality control tool. 4 min
  2. 2 Adding comments Learn to add line comments to a PR. 4 min
  3. 3 Approving Learn the flow to approve a PR. 4 min
  4. 4 Summary - Code review Combine the review flow to approve and merge a PR. 5 min
16
Issues
4 lessons · 17 min
  1. 1 What is an issue? Learn that an issue is a task and bug tracking tool. 4 min
  2. 2 Opening an issue Learn the steps to open a new issue. 4 min
  3. 3 Labels Learn to categorize issues with labels. 4 min
  4. 4 Summary - Issues Combine the issue flow to manage a bug report. 5 min
17
Actions basics
4 lessons · 17 min
  1. 1 What are Actions? Learn that GitHub Actions is a CI/CD tool. 4 min
  2. 2 Workflow file Learn the structure of a workflow YAML file. 4 min
  3. 3 Trigger Learn push and pull request triggers. 4 min
  4. 4 Summary - Actions basics Combine the workflow parts to set up a simple CI flow. 5 min
18
Release workflowProject
5 lessons · 24 min
  1. 1 Overview See the release workflow steps together. 4 min
  2. 2 Tag a release Mark a release point with an annotated tag. 5 min
  3. 3 Changelog Update the CHANGELOG file and commit it. 5 min
  4. 4 Release commit Create the release commit and merge the branch. 5 min
  5. 5 Publish Push the tag to the remote and publish. 5 min
19
Team repoProject
5 lessons · 24 min
  1. 1 Overview See the team repository workflow steps. 4 min
  2. 2 Branch strategy Create a feature branch with a naming convention. 5 min
  3. 3 PR flow Push the branch and set up the PR opening flow. 5 min
  4. 4 Resolve conflicts Resolve a conflict that arises during rebase. 5 min
  5. 5 Merge Merge the approved PR into the main branch and delete the branch. 5 min
20
Intermediate finalFinal
4 lessons · 24 min
  1. 1 Branch management Complete the branch create, switch and delete flow. 6 min
  2. 2 Rebase Set up a linear history by rebasing a feature branch. 6 min
  3. 3 Conflict Resolve a merge conflict and complete the commit. 6 min
  4. 4 PR flow Set up the push, PR and merge flow. 6 min

Learn interactive rebase, bisect, blame, submodule, worktree, hooks, advanced log, archive and the GitHub Actions workflow.

1
Interactive rebase
4 lessons · 17 min
  1. 1 rebase -i Learn interactive rebase with git rebase -i. 4 min
  2. 2 pick reword squash Learn the pick, reword and squash commands. 4 min
  3. 3 edit drop Learn the edit and drop commands. 4 min
  4. 4 Summary - Interactive rebase Combine interactive rebase commands to rewrite history. 5 min
2
Bisect
4 lessons · 17 min
  1. 1 git bisect Learn to find the bug commit with git bisect. 4 min
  2. 2 good and bad Learn the search with good and bad references. 4 min
  3. 3 Automatic bisect Learn automatic testing with bisect run. 4 min
  4. 4 Summary - Bisect Combine the bisect flow to find the buggy commit. 5 min
3
Blame
4 lessons · 17 min
  1. 1 git blame Learn line authors with git blame. 4 min
  2. 2 Line history Learn to inspect the history of a specific line. 4 min
  3. 3 blame -L Learn the line range with blame -L. 4 min
  4. 4 Summary - Blame Combine blame options to investigate line ownership. 5 min
4
Submodule
4 lessons · 17 min
  1. 1 What is a submodule? Learn to embed another repository with a submodule. 4 min
  2. 2 submodule add Learn to add a submodule with git submodule add. 4 min
  3. 3 submodule update Learn submodule sync with git submodule update. 4 min
  4. 4 Summary - Submodule Combine the submodule flow to manage an embedded repo. 5 min
5
Worktree
4 lessons · 17 min
  1. 1 git worktree Learn multiple working trees with git worktree. 4 min
  2. 2 worktree add Learn to add a new tree with git worktree add. 4 min
  3. 3 worktree list Learn the tree list with git worktree list. 4 min
  4. 4 Summary - Worktree Combine worktree commands to set up parallel branch work. 5 min
6
Hooks
4 lessons · 17 min
  1. 1 What is a hook? Learn that a hook is an event-triggered script. 4 min
  2. 2 pre-commit Learn pre-commit checks with the pre-commit hook. 4 min
  3. 3 commit-msg Learn message validation with the commit-msg hook. 4 min
  4. 4 Summary - Hooks Combine the hook flow to set up client-side checks. 5 min
7
Advanced log
4 lessons · 17 min
  1. 1 --graph Learn the branch graph with git log --graph. 4 min
  2. 2 --format Learn custom output with git log --format. 4 min
  3. 3 --since --until Learn to query commits with date filters. 4 min
  4. 4 Summary - Advanced log Combine log options to produce a custom history report. 5 min
8
Archive
4 lessons · 17 min
  1. 1 git archive Learn to create a repository archive with git archive. 4 min
  2. 2 zip and tar Learn to create archives in zip and tar formats. 4 min
  3. 3 Specific branch Learn to archive a specific branch. 4 min
  4. 4 Summary - Archive Combine the archive flow to prepare a distribution package. 5 min
9
Advanced stash
4 lessons · 17 min
  1. 1 stash -u Learn to stash untracked files with stash -u. 4 min
  2. 2 stash branch Learn to pop a stash onto a new branch with stash branch. 4 min
  3. 3 stash show -p Learn the stash diff with stash show -p. 4 min
  4. 4 Summary - Advanced stash Combine advanced stash options to manage intermediate work. 5 min
10
Advanced cherry-pick
4 lessons · 17 min
  1. 1 cherry-pick -n Learn no-commit application with cherry-pick -n. 4 min
  2. 2 cherry-pick range Learn to cherry-pick a commit range. 4 min
  3. 3 cherry-pick strategy Learn to choose a merge strategy. 4 min
  4. 4 Summary - Advanced cherry-pick Combine advanced cherry-pick options to do bulk moves. 5 min
11
Actions workflow
4 lessons · 17 min
  1. 1 matrix Learn multi-version testing with the matrix strategy. 4 min
  2. 2 cache Learn to speed up with dependency caching. 4 min
  3. 3 secrets Learn secret variable management with secrets. 4 min
  4. 4 Summary - Actions workflow Combine the workflow parts to build a robust CI. 5 min
12
GitHub Pages
4 lessons · 17 min
  1. 1 What is Pages? Learn to publish a static site with GitHub Pages. 4 min
  2. 2 Branch publish Learn to publish from a specific branch. 4 min
  3. 3 Custom domain Learn to bind a custom domain. 4 min
  4. 4 Summary - GitHub Pages Combine the Pages steps to publish a site. 5 min
13
Branch protection
4 lessons · 17 min
  1. 1 Protected branch Learn what a protected branch does. 4 min
  2. 2 Required review Learn the required review rule. 4 min
  3. 3 Status check Learn the required status check rule. 4 min
  4. 4 Summary - Branch protection Combine protection rules to secure the main branch. 5 min
14
Advanced finalFinal
4 lessons · 24 min
  1. 1 Rebase Squash and reorder commits with interactive rebase. 6 min
  2. 2 Bisect Find the buggy commit with binary search using bisect. 6 min
  3. 3 Submodule Add a submodule and complete the update flow. 6 min
  4. 4 Hook Add a pre-commit hook and make it executable. 6 min

Learn Git internals, custom hooks, LFS, monorepo, performance, GitHub API and security.

1
Git internals
4 lessons · 17 min
  1. 1 The .git folder Learn the internal structure of the .git folder. 4 min
  2. 2 Object database Learn blob, tree and commit objects. 4 min
  3. 3 Refs Learn branch and tag references. 4 min
  4. 4 Summary - Git internals Combine internal parts to draw an object map. 5 min
2
Custom hooks
4 lessons · 17 min
  1. 1 Hook scripting Learn to write hook scripts. 4 min
  2. 2 pre-receive Learn the server-side pre-receive hook. 4 min
  3. 3 update Learn per-branch checks with the update hook. 4 min
  4. 4 Summary - Custom hooks Combine the custom hook flow to set up server-side policy. 5 min
3
Git LFS
4 lessons · 17 min
  1. 1 What is LFS? Learn large file management with Git LFS. 4 min
  2. 2 lfs install Learn to set up with git lfs install. 4 min
  3. 3 lfs track Learn to define patterns with git lfs track. 4 min
  4. 4 Summary - Git LFS Combine the LFS flow to manage large files. 5 min
4
Monorepo
4 lessons · 17 min
  1. 1 What is a monorepo? Learn the single repository model of the monorepo approach. 4 min
  2. 2 sparse-checkout Learn partial checkout with sparse-checkout. 4 min
  3. 3 subtree vs submodule Learn the difference between subtree and submodule. 4 min
  4. 4 Summary - Monorepo Combine monorepo tools to set up large repository management. 5 min
5
Performance
4 lessons · 17 min
  1. 1 git gc Learn repository cleanup with git gc. 4 min
  2. 2 git prune Learn unreachable object cleanup with git prune. 4 min
  3. 3 git fsck Learn repository validation with git fsck. 4 min
  4. 4 Summary - Performance Combine maintenance commands to keep the repository healthy. 5 min
6
GitHub API
4 lessons · 17 min
  1. 1 REST API Learn programmatic access with the GitHub REST API. 4 min
  2. 2 Authentication Learn token-based authentication. 4 min
  3. 3 Organizations Learn organization management. 4 min
  4. 4 Summary - GitHub API Combine API parts to set up an automated flow. 5 min
7
Security
4 lessons · 17 min
  1. 1 GPG signing Learn to sign commits with GPG. 4 min
  2. 2 SSH keys Learn SSH key management. 4 min
  3. 3 Disaster recovery Learn the disaster recovery flow. 4 min
  4. 4 Summary - Security Combine security steps to set up a signed and recoverable repository. 5 min
8
Expert finalFinal
4 lessons · 24 min
  1. 1 Internals Inspect the object database and verify the packfile structure. 6 min
  2. 2 Performance Shrink the repository with gc and prune and verify with fsck. 6 min
  3. 3 Security Create a GPG-signed commit and push with SSH. 6 min
  4. 4 Disaster recovery Find a deleted branch with reflog and recover it with reset. 6 min

Lessons are free, an account keeps your progress

You do not have to sign up. If you do, you continue where you left off and never lose your work.

  • Progress saved on every device
  • Earn XP and badges
  • Keep your daily streak
  • Get a certificate when you finish
create a free account

Frequently asked questions

Are the Git lessons free?

Yes. All 250 lessons of the Git course are free and you can start without an account.

Do I need any prior knowledge?

No. The beginner level starts from zero; a browser is all you need. If you already know the basics, start at a higher level.

How long does the course take?

Lessons take 2–8 minutes. The whole course is about 18 hours; with 15–20 minutes a day you can finish in a few months.

Do I get a certificate?

Yes. When you complete the course with a free account, a verifiable certificate is issued in your name.

Will I lose my progress without an account?

Without an account your progress is kept only in your current browser. When you create a free account it is moved to your account.

Next step TypeScript

Learn TypeScript 5 from the type system to generics, decorators and the compiler API across all levels.