Repository a repository (repo) is an term we use to describe the entirety of code to manage and track, including a history of changes and other metadata.

Version Control is the practice of managing all the iterations and improvements on your project in a thoughtful and controlled manner.

Version Control Software are programs that aid with the process of version control for a project. Google Doc has its own built in system; Fusion 360 does as well. Because it is such an important aspect of managing projects, version control software has become a big topic and focus for software developers.

Git is an open-source version control software that has become nearly ubiquitous and an industry standard for software development. It is so common to use Git as version control, that is often used colloquially to refer to version control as Google is used to refer to search engines.

Why deal with version control and Git?

It seems like yet another thing to learn, but Git and version control is one of those meta-skills that will reward you down the road. It is also a helpful scaffolding and learning mechanism for tracking your progress within a project.

Learning Aid

Learning how to properly version control is to learn how to properly break down a project or problem into management and small tasks that you focus on. When you Git properly, you are problem solving properly.

Collaboration

One of the biggest features of a remote (hosted) repository, such as GitHub, is that it enables collaboration between multiple people in different locations (or the same location). Git repos track who made what changes and when, similar to Google Doc’s suggestion mode where you can see who made what edits and when. There are a bunch of collaborative tools built into both Git itself, and also GitHub, which was designed to help large distributed software teams collaborate and work on software projects together.

Version Control with Git

Exercise: Go through the cycle of git clone, git add, git commit, git push using a simple repository.

Project: Collaborate on a small script with classmates, utilizing branches for features and merging them.

Git

Check to see if you already have git installed on your computer

git --version 

If not, go ahead and install: