<aside> 💡 This tutorial is meant to do three things: (1) give context around git, (2) provide a series of resources, and how to approach them, (3) provide a series of exercises.

There are definitely people out there who can teach the actual commands better, so we're just here to compile that information and send it your way!


When working on coding projects, git helps with two main things:

  1. History- keeping track of all of your code's history in case you want to see what changes you've made or 'undo' current mistakes
  2. Collaboration- allowing you to collaborate with others on the same code, asynchronously by giving you ways of updating a shared source of code and track the versioning


Git is a version control system which is a fancy way of saying that it tracks your changes. Here are a few other fancy words and terms that might be necessary to know when looking through the resources and getting to know git:

These are only a few of the first terms, so please check out the resources for more! Basically, git is a series of commands that allow you to update the remote status, and do different things to your local status. The trickiest thing about git is that the 'state' of your repository is really hard to visualize and fully understand, so no worries if this doesn't come quickly! A lot of seasoned engineers still struggle with git on a day to day basis.


Here are a few links to resources! Git is best learned in practice, so once you have a general understanding of the commands and how they work, I'd suggest applying that knowledge!