Introduction

Git is one of the most popular Distributed Version Control Systems (DVCS) which provides the user with the full history of their computer programs, documents, websites, projects, or any kind of information. Version control systems are a key component in the software development workflow. The main advantages of using version control systems can be summarized as follows:
  • Collaboration: It makes collaboration much easier! Without version control, the best option for the teammates would be to work on a shared folder. More than one person working on the same file will likely cause some sort of data loss or overwriting. Version control provides complete freedom in that it let's everyone work on any components of the project at any time!
  • Backup: Not only the most recent version of the computer program, but also the history of all the changes that has been made since the starting date is available in the repository. Like a time machine, you can go back and forth to the past and present! If the server or local machine break down, it is available on the hosting platform repository (Github, GitLab, etc.)
  • Issue Tracking or understanding what went wrong AKA: It makes it much easier to track the issues with your software as the history of all the changes that have been made are available!
  • Development History: It provides a log of events so that one can understand what major steps have been taken to develop the software to its current state
  • Retoring Previous Versions: If you realize that the recent changes that was made are no good, you can basically rewind the project to the state that you desire in a matter of seconds

What is a Git Repository anyway?

A Git repository is simply a .git folder inside your project. This repository contains the history of all the changes made to the project! If you delete this folder, the project history will be gone and you would only have access to the latest state of the project. On the other hand, if you initialize a repository in your project folder, git will start to keep track of your changes.