Menu for Per-Arne's Git Good!
Courses and project Per-Arne's Git Good!
On this page

Per-Arne's Git Good!

Git crash course: from zero to hero — From your first commit to confident teamwork — watch it happen in real Git, try it yourself, understand why.

6 modules · 25 lessons · ~5.3 h

Start the course →

  • 1 · Understand — Short narrated explanation with animated figures of the history.
  • 2 · Watch — A demo in real Git plays step by step. Predict before each key command.
  • 3 · Your turn — Do the same yourself. The course checks the result in Git, not the wording. Hints when needed.
  • 4 · Transfer — A new variant without a demo, and questions that make you recall it again.

Learning outcomes

After the course you can:

  1. Explain why Git is distributed, and Git's data model: a commit is a snapshot with parents and an ID derived from its content, while branches, tags and HEAD are pointers to commits. understand
  2. Build a clean history: control what goes into each commit through the working tree and the staging area, give each commit one purpose and a message that says why, and keep unwanted files and unfinished work out. apply
  3. Branch and merge: create and switch branches, predict whether a merge becomes a fast-forward or a merge commit, and resolve or abort a conflict. apply
  4. Collaborate through a remote: tell apart your branch, its remote-tracking branch and the branch in the remote, keep them in step with fetch, pull and push, and publish a feature branch for review. apply
  5. Investigate history: read the graph, compare revisions and trace a line or a bug to the commit that introduced it, with log, diff, blame and bisect. analyse
  6. Choose and justify an integration strategy (fast-forward, merge commit, rebase, squash or cherry-pick) from whether the history is shared, and tidy private history with interactive rebase before sharing it. evaluate
  7. Choose and justify an undo tool from where the change lives: restore for files, reset for local history and revert for shared history. evaluate
  8. Recover from mistakes without losing work or overwriting others' work: abort an operation in progress, find commits that look lost with the reflog and ORIG_HEAD, and resolve a rejected push without force. apply

Module 1: Foundations

Why Git, snapshots, the three areas and a history you can read.

Module 2: Branching and merging

Pointers, parallel lines of work and conflicts without panic.

Module 3: Collaboration

Remotes, fetch, pull and push — and how a team works safely together.

Module 4: Undo and rewrite

Pick the right undo tool, tidy private history and rescue work that looks lost.

Module 5: The toolbox

Stash, cherry-pick, debugging through history and a safe workflow.

Module 6: Final challenge

From solo to team: show that you master the whole workflow in real Git, without a demo.

Install Git · Command reference · Glossary · About the course