Basic Git & GitHub for DevOps Engineers

Basic Git & GitHub for DevOps Engineers

#90daysofdevops Day8

1. What is Git?

Git is a version control tool that maintains and tracks versions you make over time and allows multiple users to work on the same file. By doing so, Git records who made changes to the file and when they were made.

Git also helps to facilitate collaboration and file sharing among multiple users by allowing them to merge changes made by others into their own copy of the file.

2.What is Github?

GitHub is a remote storage website where we can store our files and collaborate with multiple users by sharing them.

3.What is Version Control? How many types of version controls we have?

The version control system maintains versions of a file, which can be accessed at any time and from any version when required.

Types of Verion Controle Systems.

a.Centralised Version Control System (CVSC).

In CVCS has only one central repository that serves as the authoritative source for the file. Users can check out the file from the central repository, work on it locally, and then check it back in when they are done.

Centralized version control systems include CVS (Concurrent Versions System) and Subversion (SVN). CVCSs were widely used before the advent of distributed version control systems (DVCSs) such as Git, which offer additional capabilities and benefits for collaborative software development.

b.Distributive Version Controle System

In DVCS has a local copy or clone of the main file ie everyone maintains a local file of their own which contain all the file and metadata present in the main file.

4.Why we use distributed version control over centralized version control?

  1. In a CVCS, the file or code is not locally available, meaning you need to be connected to a network to perform any action. Since everything is centralized, if the central server fails, you will lose all data.

  2. Since everything is centralized, if the central server failed you will lose entire data.

  3. Working on a branch is easier in a DVCS, and users face fewer conflicts.

  4. DVCS is faster as most users work with their local copy without needing to hit the server every time.

  5. If the server is down, users can continue to work using their local files.

*****************************************

Thank you so much for taking the time to read my day-8 blog. I really appreciate it! If you have any suggestions or corrections, please feel free to leave a comment. Your feedback will help me to improve my writing and make future blog posts even better.