Programming · Beginner
Git & GitHub
The tool every programmer uses and almost nobody is taught — in one evening.
- Lessons
- 24 lessons
- Total runtime
- 18 hours of video
- Modules
- 8 modules
- Optional lessons
- 15 optional
Free. No account.

About this course
Git is the thing every programmer uses and almost nobody is formally taught. Most people pick up three commands from a colleague, get away with it for years, and stay quietly afraid of the fourth. This course replaces that with an actual mental model, and it is short enough to finish tonight.
The order matters more than usual. Two short videos establish what Git is doing conceptually — a chain of snapshots, not a folder of files — before anything asks you to type a command. Then Corey Schafer's half hour on the command line, which teaches Git as a tool in its own right rather than as a row of buttons in an editor. Only then does Traversy's crash course bring in GitHub, the website, as a separate thing from Git, the program. Conflating those two is the single most common beginner confusion, and doing them in this order avoids it.
The module on fixing mistakes is the one to slow down for. Nearly all Git anxiety is fear of losing work irreversibly, and nearly none of it is justified — Git is remarkably hard to lose anything in, once you know which command undoes what. Twenty minutes on undoing bad commits removes more fear than everything else here combined.
Under three hours of required video, which still makes this the shortest course on the site. The optional lessons — branching in depth, GitHub Actions and two full courses — take the pool to about eighteen hours. Type the commands as you go, in a throwaway repository you do not mind breaking — reading about version control teaches you nothing at all.
What you'll be able to do
- Explain what a commit actually is, and why Git is not a backup system
- Work confidently on the command line: init, add, commit, branch, merge, push, pull
- Undo almost any mistake without losing work
- Open a pull request and contribute to somebody else's repository
- Say what Git is, what GitHub is, and why they are not the same thing
Curriculum
24 lessons · 18 hours
What Git Actually Is
5 lessons · 2h 43m
- 01CompletedGit Explained in 100 SecondsFireshipVideoTwo minutes for the shape of the whole thing. Watch it before anything asks you to type a command — the mental model is what makes the commands make sense later.2m
- 02CompletedGit It? How to Use Git and GitHubFireshipVideoThe concepts at slightly more length, including the distinction between the program on your machine and the website. Everything downstream depends on that distinction being clear.12m
- 03CompletedInstalling Git on WindowsOptionalTraversy MediaVideoOptional and Windows-specific. On macOS and Linux, Git is either already there or one package-manager command away.7m
- 04CompletedGit Tutorial for Beginners — Learn Git in 1 HourOptionalProgramming with MoshVideoA single continuous hour covering everything the first three modules here cover separately. Take it instead of them if you would rather sit down once.1h 9m
- 05CompletedComplete Git and GitHub TutorialOptionalKunal KushwahaVideoStronger than most on what Git is doing underneath — commits as snapshots, branches as pointers. That model is what makes the commands stop needing memorisation.1h 13m
The Command Line
2 lessons · 41m
- 06CompletedGit Tutorial for Beginners: Command-Line FundamentalsCorey SchaferVideoThe core of the course. Learning Git in the terminal first means every GUI afterwards makes sense, whereas learning a GUI first leaves you stuck the moment it hides something.31m
- 07Completedadd -A vs add -u vs add . vs add *OptionalCorey SchaferVideoOptional. Four commands that look interchangeable and are not — worth ten minutes the first time one of them stages something you did not expect.10m
Git and GitHub Together
1 lesson · 49m
Branching
3 lessons · 1h 24m
- 09CompletedIntroduction to Git — Branching and MergingOptionalDavid MahlerVideoBranching is where Git stops being a save button and starts being useful, and merge conflicts are where beginners panic. Half an hour drawing the commit graph as it changes, which prevents most of that.29m
- 10CompletedGit Branches TutorialOptionalfreeCodeCamp.orgVideoA shorter second pass. Branching is worth seeing twice because the diagrams differ and one of them will match how you picture it.33m
- 11CompletedGit Merge vs Git Rebase for BeginnersOptionalAutomation Step by StepVideoThe one argument every team has. Twenty minutes on what each actually does to the history, so you can hold an opinion rather than inherit one.22m
Fixing Mistakes
3 lessons · 43m
- 12CompletedFixing Common Mistakes and Undoing Bad CommitsCorey SchaferVideoThe most valuable twenty minutes here. Committed to the wrong branch, committed a password, need the last three commits gone — all recoverable, and knowing that changes how freely you use the tool.22m
- 13CompletedUsing the Stash CommandCorey SchaferVideoSomewhere to put half-finished work when something urgent arrives. Underused, and it removes the temptation to commit rubbish just to change branch.11m
- 14CompletedDiff and Merge ToolsOptionalCorey SchaferVideoOptional. Resolving conflicts visually rather than by reading angle brackets in a text file — worth setting up before your first real merge conflict, not during it.10m
Working With Other People
2 lessons · 29m
- 15CompletedGitHub Pull Requests in 100 SecondsFireshipVideoThe unit of collaboration on GitHub, in two minutes. A pull request is a GitHub idea rather than a Git one, which is why it arrives only now.2m
- 16CompletedGetting Started With Open Source & GitHubTraversy MediaVideoForking, contributing, and the etiquette around it. The natural end of the course: everything before this was for you alone, and this is where it becomes useful to other people.27m
Beyond the Basics
5 lessons · 6h 4m
- 17Completed13 Advanced (but Useful) Git TechniquesFireshipVideoA fast tour of what is available once the basics are solid. Not everything here will be useful yet — the point is knowing it exists so you can search for it later.8m
- 18CompletedGitHub Pages Deploy & DomainOptionalTraversy MediaVideoOptional. Putting a static site online straight from a repository, for free — the shortest path from a Git commit to something a stranger can open.21m
- 19CompletedAdvanced Git — Interactive Rebase, Cherry-Picking, ReflogOptionalfreeCodeCamp.orgVideoThe commands that get you out of trouble. reflog in particular has recovered more work than any other Git feature, and almost nobody knows it exists until they need it.34m
- 20CompletedGit for ProfessionalsOptionalfreeCodeCamp.orgVideoLess about commands and more about habits — commit hygiene, branching strategies, and what makes a history worth reading a year later.41m
- 21CompletedGit and GitHub — Full CourseOptionalBoot devVideoFour hours including the internals — objects, trees and how a commit is actually stored. More than most people need, and the version to take if you want Git to stop being mysterious entirely.4h 20m
Automating with GitHub Actions
3 lessons · 4h 46m
- 22CompletedGitHub Actions Tutorial — CI/CD Pipeline with DockerOptionalTechWorld with NanaVideoTests that run themselves on every push, and a deployment that happens without you. This is the step that turns a repository into a workflow, and it is much less work to set up than people expect.33m
- 23CompletedGitHub Actions — Branch Protection and Automated TestingOptionalTech With TimVideoThe rules half: requiring tests to pass and reviews to happen before anything reaches the main branch. Most of the value of Actions on a team project.30m
- 24CompletedComplete GitHub Actions CourseOptionalDevOps DirectiveVideoNearly four hours — matrices, caching, reusable workflows, secrets and self-hosted runners. Reference depth for when a pipeline outgrows a single file.3h 43m
Credits
Every lesson in this course was made by one of these channels. Tubeversity sequenced them; it did not make them. If a course is useful to you, the people below are the ones who earned it.