Git

An XKCD comic talking about git and how to use it as a joke.

Seriously, always an XKCD.

Version control?

One of the most important tools you'll be using during the Piscine, Git, is a version control system. What is version control? It's put simply, a way to manage and control changes within programs and other files. Git also allows you to take projects in different directions, while always keeping a backup of different versions.

An example could be a photo editing program that only allows the user to resize & crop images. A user wants to add some extra functionality, like adding filters to the images. So they make a copy (fork/clone) of the app code, then add their changes to now add filters to images. They can now request to add their new code (pull request) or keep their code and make it it's own thing (fork).

Another example would be instead of saving a file such as, project.txt, project2.txt, final_project.txt, final_final_project.txt, final_final_done_project.txt . You could save changes of a file, without having to make a new file with a new name every time. All of that, while being able to see what changes you've made, as well as reverse them.

Comic of two people in front of an eisle.

Funny, but it happens more often then we like to admit.

Vogsphere

The Vogsphere is how you will be turning in your assignments, which uses git. Below, there are two videos from the Piscine which not only explains it in more detail but will go through a walkthrough on how to use it.

Learning materials

As a final note, the commands you'll use most ofter are: init, status, add, push, pull, and commit. There are many more features of git, but knowing how to use these as well as understanding what branches are, is the bare minimum to get started successfully. Below are some resources to help get started with git.

The C Language