Why Learn Git the ‘Hard Way’?

A brief introduction to the objectives of this course.

We'll cover the following

This course has been written to help users develop a deeper understanding and proficiency in Git. It doesn’t aim to make you an immediate expert. Instead, this course will build your confidence and knowledge in git so that you can continue to grow your expertise.

The “hard way” is a method that emphasizes the process required to learn anything. You don’t learn to ride a bike by reading about it, and you don’t learn to cook by only reading recipes. Courses can help, but it’s up to you to do the work.

This course shows you the path to understanding Git in small digestible pieces based on my decades of experience. It also asks you to actually type out the code. This is as important as riding a bike is to learning to ride a bike. Without the brain and body working together, the knowledge will not get there.

If you follow this course, you will obtain an understanding of Git that can lead you to mastering it as you use it.

What will you get?

This course aims to give students:

  • A hands-on, quick, and practical understanding of Git
  • Enough information to understand Git as they proceed further with it
  • Familiarity with advanced Git usage

It does not:

  • Give you a mastery of all Git’s internals
  • Give a complete theoretical understanding of all the subtleties and underpinning technologies of Git
  • Explain everything because there is plenty of time to go deeper and understand all the nuances later

With Git, you have to think to understand what is happening. This is the “hard way”, and it’s the only way to learn.Later, this course will save you time as you scratch your head, wondering what something means or why that StackOverflow answer worked. You will also be able to construct your own solution and explain why that StackOverflow answer might not be perfect.

Sometimes, the course will go into other areas closely associated with Git but not directly Git-related, such as specific tools and terminal knowledge. Again, this is always oriented around my decades of experience of using Git and other source control tools. I will explain what’s needed as we continue.


This course assumes some familiarity with very basic shell usage and commands. Below, there is a terminal widget that you will be using throughout this course. Click on the terminal to connect to it and type in the following command:


This command will return a version number for BASH (Bourne Again Shell) that is running on the platform.

Next, type in the following command:

	git --version

This command will return the version of Git that is running on the platform.