How the Course Works

Setting expectations

You’ll learn several commands throughout the course. Therefore, for a better understanding, this course demands that you practice these commands in the provided terminal widget. As the name of the course suggests, this is the hard way, and it is used because it works.

This is really important: you must get used to working in Git and figuring out what’s going on by trying to work it out before it is explained to you. Eventually, you will be on your own and will need to think for yourself.

Commands are numbered

Each section is self-contained, and you must follow it thoroughly to completely grasp the concepts. The shell commands are numbered to help you keep track of your progress. For example:

1	first command
2	second command


This course is structured into four parts:

Part I - Core, local Git

Core foundational concepts essential for locally managing Git repositories:

  • Introduction to Git
  • Git Basics
  • Cloning a Repository
  • Git Branching
  • Merging

Part II - Advanced local Git

More advanced local repository management:

  • Git Stash
  • Git Add Interactive
  • Reflog
  • Cherry-Picking
  • Git Rebase
  • Git Bisect

Part III - Remote repository management

Distributed management of Git repositories:

  • Fetching and Pulling Content
  • Working with Multiple Repositories
  • Pushing Code
  • Git Submodules
  • Pull Request

Part IV - Advanced Git

This part delves deeper into Git for the users who want to learn more:

  • Git Log
  • Squashing Commits
  • Bare Repositories
  • Cherry-Picking and Three-Way Merges
  • Git Hooks