About this course
This free course starts with git init in an empty directory and ends with rewriting history on a shared repository. In between it covers the everyday workflow, branching, merge and rebase, remotes on GitHub and GitLab, and every level of undo. Command behaviour follows the official Git documentation for current releases, and the lessons use the newer git switch and git restore commands alongside the older git checkout you will still see in other guides.
Every lesson was run on a real repository, and the output you see is what Git printed on a RHEL 10.2 host with Git 2.52. The undo chapter is organised by how far a mistake has travelled: still in the working tree, staged, committed locally, or already pushed. That is the question you need to answer before picking restore, reset, or revert.
If you are new to version control, work through the chapters in order. If you already commit and push every day, go straight to the Undoing Changes chapter, the merge and rebase chapter, or Troubleshooting Common Errors, and keep the Git cheat sheet open for the flags.

