Beginner
Git
Learn Git for real. Commits, branches, remotes, rebasing, conflict resolution, recovery, and pull request workflows.
13 lessons5.9h hands-on11 languages
Start learning freeGit course13 lessons, in order
- 125 min
Init and Your First Commit
Git initGit configWorking treeStaging areaGit addGit commit - 225 min
Status, Diff, and Log
Git statusGit diffGit diff --stagedGit logLog formatting - 330 min
Branches and Merging
Git branchGit switchFast-forward mergeThree-way mergeMerge commit - 430 min
Remotes: Push, Pull, Fetch
Git remote addGit pushGit fetchGit pullUpstream tracking - 530 min
Rebasing
Git rebaseReplay on topLinear historyWhen not to rebase - 630 min
Interactive Rebase and Squashing
Git rebase -iPickSquashFixupRewordAutosquash - 725 min
Stash and Cherry-pick
Git stashGit stash popGit stash listGit cherry-pick - 830 min
Resolving Merge Conflicts
Merge conflict markersManual resolutionGit add after resolvingGit merge --abortMergetool - 920 min
Tags and Releases
Lightweight tagAnnotated tagGit tag -aGit push --tagsGitHub releases - 1020 min
Branching Workflows
Trunk-based developmentGitHub FlowGit FlowShort-lived branches - 1125 min
Hooks
Client-side hooks.git/hooksPre-commitShell hook examplePre-commit framework - 1225 min
Recovering Lost Work
Git reflogRecovering from reset --hardGit fsck --lost-found30-day grace period - 1340 min
Capstone: A Full Pull Request Flow
CloneFeature branchPushGh pr createFixup commitsAutosquash rebase+1
Learn Git in your language
Every lesson, quiz, and tutor reply renders in your language. The AI tutor matches the language you ask in.
Learn Git in EnglishAprende Git en españolAprenda Git em portuguêsتعلّم Git بالعربيةGit را به فارسی یاد بگیریدApprenez Git en françaisGit हिन्दी में सीखें用中文学习 GitPelajari Git dalam bahasa IndonesiaИзучайте Git на русскомGit auf Deutsch lernen
