beginner4 h 25 min9 lessons

Git Fundamentals

Start from nothing and finish with a real repository pushed to GitHub. Every command is introduced by the problem it solves, in plain language, before the syntax — no prior terminal experience assumed.

by DevFox

Start course

What you will cover

  1. Why Version Control ExistsWhat Git actually stores and why its workflow is shaped the way it is: snapshots, commit hashes, history as a graph, and why every clone is a full copy.20 min
  2. Installing GitGet Git onto your machine and teach it who you are. Includes a short orientation to the terminal for anyone who has never opened one, and why Git needs your name at all.30 min
  3. Configuring Git the Way You Want ItThe three config levels, your editor, line endings, and the handful of settings that remove daily friction — each introduced by the annoyance it fixes.30 min
  4. Your First Repository and CommitBuild a real repository from scratch. The .git directory, the three areas, reading git status, staging with add and add -p, and writing commit messages worth keeping.30 min
  5. Reading What ChangedAnswer what is different and who changed this line. git diff and --staged, reading a unified diff hunk by hunk, commit references, git show, log filtering, and blame.30 min
  6. Choosing What Git TracksKeep your repository to source and nothing else. .gitignore pattern syntax, why ignoring a tracked file does nothing, git rm --cached, check-ignore, and global ignores.25 min
  7. Undoing Things SafelyA decision guide for every common mess: restore, clean, amend, reset soft/mixed/hard, revert, and reflog rescue — with a clear line between what is recoverable and what is not.35 min
  8. Branching and Merging BasicsBranches as movable labels, switching without losing work, fast-forward versus three-way merges, resolving your first conflict, and cleaning up merged branches.30 min
  9. Working with Remotes and GitHubBack your work up and share it. Clone versus remote add, SSH keys and tokens, upstream tracking, what origin/main really is, fetch versus pull, and the rejected push.35 min