The course you find below is a collection of slides and exercises I’ve created for a Git course I’ve once taught.

It’s full of examples and exercises, and it covers the most important Git concepts and commands from the very basics to advanced topics.

Enjoy! And if you find any errors or typos, please let me know.

Chpt. 1 - Git concepts with examples

  1. What is git
  2. Git concepts
  3. Git vs CVS

Chpt. 2 - Using Git

  1. Environment setup
  2. SSH keys
  3. Git configuration
  4. Starting a new repo
  5. Git basics
  6. Revert and reset
  7. Working with branches
  8. Working with tags
  9. Synchronize repositories
  10. Ignoring files
  11. Aliases

Chpt. 3 - Advanced Git

  1. Some utilities

  2. Submodules

  3. Rewrite project history

    • Amend
    • Rebase
    • Squash
    • Cherry-pick
  4. Reflog, the Git safety net

  5. Remove secrets from history

  6. Bonus commands

Chpt. 4 - Developing software in a team

  1. Practice lab all together!
  2. Work in a team
  3. Best practices
  4. Have a team Wiki