# DevOps Use-Case Part -2

## Version Control Using Git and GitHub

### topics that we will be learning today

1. Version Control-what. And why?
    
2. Version control Tools
    
3. GitHub and Git
    
4. Case Study :Domain Enterprises
    
5. Git features
    
6. Git Operations and Commands
    

### What is Version System

A system that monitors the changes you make in your projects.

### Why Version Control?

1.Provides collaboration

1. Storing Versions
    
2. Provides Developers with backup
    
3. Analyse Projects
    

### Version control tools

1.Git

2.Apache

3.mercurial

4.SVN

## Git and GitHub

Git is just a version control tool while GitHub is a code hosting platform.Github is a social network for developers.

## What is git?

Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software.

### Features of git

1. Distributed
    
2. Compatible
    
3. Non-linear
    
4. Branching
    
5. Lightweight
    
6. Speed
    
7. Open source
    
8. Secure
    
9. Economical
    
10. Reliable
    

### Distributed

1.Allows distributed development of code

2.Every developer has a local copy of the entire development history and changes are copied from one repository to another.

### Compatible

1.compatible with existing systems & protocols.

1. SVN and SVK repositories can be directly accessed using Git SVN
    

### Non-linear

1. Includes various techniques to navigate &visualize non-linear development history
    

### Branching

It takes only a few seconds to create &merge branches

### Lightweight

1\. Uses lossless compression techniques to compress data on the client's side.

### Speed

1.Fetching data from local repository is 100 times faster than remote repository

1. Git is one order of magnitude faster than other VCS tools.
    

### Open source

You can modify it's code according to your needs

### Reliable

On event of system crash,the lost data can be easily recovered from any of the local repositories.

### Secure

Uses SHA1 to name and identify objects

Every file and commit is checksummed and is retrieved by its checksum at time of checkout.

## What is a Repository?

A directory or storage space where your projects can live. It can be local to a folder on your computer ,or if can be a storage space on GitHub or another online host.

### Two types of repositories

1. central repository
    

1. Local Repository
    

Central repository is typically located on remote server while local repository is located on the local machine

Central repository consists of git repository folder while local repository resides as a git folder inside your project root.
